onRequestPermissionsResult 未在片段中调用

onRequestPermissionsResult not called in fragment

在我调用 requestPermissions 的 DialogFragment 中,我尝试了那些代码 getActivity().requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},12);

requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);

我用这段代码得到结果

@Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        Log.i("permission", "Request Code: "+ requestCode);

如果我把它放在我的 HoneActivity 中它工作正常,但我需要在我的片段中调用 onRequestPermissionsResult。如果我将代码放在我调用 requestPermissions 的片段中,它就不再起作用了。我也试过 super.onRequestPermissionsResult 但没有成功。在其他主题中,我看到那里有一个错误,但我检查了我的版本并且我正在使用 com.android.support:appcompat-v7:24.0.0.

当您在片段中调用它时

getActivity().requestPermissions(new String[{Manifest.permission.READ_EXTERNAL_STORAGE},12);

然后

 @Override
 public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
   Log.i("permission", "Request Code: "+ requestCode);
 }

在您添加片段的 activity 中被调用。

So requestPermissions() in fragment and check onRequestPermissionsResult() in you parent activity.where you are adding you fragment.

原因是 requestPermissions 需要一个 activity 作为参数检查完整详细信息 here