相关疑难解决方法(0)

onRequestPermissionsResult未在对话框片段中调用

我已经开始研究Android M运行时权限了.在这里,我面临的问题是,如果requestPermissionsDialog Fragment类中调用,则onRequestPermissionsResult不会在同一个Dialog fragment类中调用.但是如果requestPermissionsActivity类或FragmentonRequestPermissionsResult调用,则在同一个类中调用方法.

这是我的示例代码:

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] == …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-dialogfragment android-6.0-marshmallow

55
推荐指数
5
解决办法
5万
查看次数