片段

时间:2016-09-28 13:20:16

标签: android android-studio android-permissions

在DialogFragment中我调用requestPermissions,我尝试了这些代码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的片段中,它就不再起作用了。我也试过s uper.onRequestPermissionsResult但没有成功。在其他主题中,我看到有错误,但我检查了我的版本,我使用的是com.android.support:appcompat-v7:24.0.0

1 个答案:

答案 0 :(得分:1)

当你在片段中调用它时

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);
 }

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

  

片段中的requestPermissions(),并检查您父项活动中的onRequestPermissionsResult()。您要添加片段。

原因是requestPermissions需要一个活动作为aurgument检查完整详细信息here