在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
。
答案 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。