onRequestPermissionsResult não está sendo chamado no fragmento de diálogo

Comecei a trabalhar com a permissão de tempo de execução do Android M. Aqui estou enfrentando a questão de que, serequestPermissions é chamado deDialog Fragment classe entãoonRequestPermissionsResult não sendo chamado na mesmaDialog fragment classe. Mas serequestPermissions é chamado deActivity classe ouFragment classe entãoonRequestPermissionsResult O método é chamado na mesma classe.

Aqui está o meu código de exemplo:

public class ContactPickerDialog extends DialogFragment {
    private static final int READ_CONTACTS_REQUEST_CODE = 12;
    private Context mContext;

    private void loadContact() {
        if(hasPermission(mContext, Manifest.permission.READ_CONTACTS)){
            new ContactSyncTask().execute();
        } else {
            this.requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, READ_CONTACTS_REQUEST_CODE);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        Logger.d("TAG", "dialog onRequestPermissionsResult");
        switch (requestCode) {
            case READ_CONTACTS_REQUEST_CODE:
                // Check Permissions Granted or not
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    new ContactSyncTask().execute();
                } else {
                    // Permission Denied
                    Toast.makeText(getActivity(), "Read contact permission is denied", Toast.LENGTH_SHORT).show();
                }
            break;
            default:
                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }

    private static boolean hasPermission(Context context, String permission){
        return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED;
    }

} 

Aqui no código que estou chamandorequestPermissions método deDialog Fragment classe. Então, eu estou esperando obter resultados na mesma classe.

Qualquer ajuda é apreciada. Desde já, obrigado!

EDITAR: Aqui estou adicionando mais detalhes, para que seja mais útil para outras pessoas. Anteriormente, usei getChildFragmentManager () para mostrar o DialogFragment.

ContactPickerDialog dialog = new ContactPickerDialog();
dialog.show(getChildFragmentManager(), "Contact Picker");

Mas como@CommonWare me pediu para usar a atividade para mostrar o DialogFragment. Fiz as seguintes alterações e funciona.

ContactPickerDialog dialog = new ContactPickerDialog();
dialog.show(getActivity().getSupportFragmentManager(), "Contact Picker");

questionAnswers(10)

yourAnswerToTheQuestion