Android 未在片段中调用onRequestPermissionsResult
在我调用requestPermissions的对话框片段中,我尝试了那些代码Android 未在片段中调用onRequestPermissionsResult,android,android-studio,android-permissions,Android,Android Studio,Android Permissions,在我调用requestPermissions的对话框片段中,我尝试了那些代码getActivity().requestPermissions(新字符串[]{Manifest.permission.READ_EXTERNAL_STORAGE},12) 或 我使用这个代码来得到结果 @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults
getActivity().requestPermissions(新字符串[]{Manifest.permission.READ_EXTERNAL_STORAGE},12)代码>
或
我使用这个代码来得到结果
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
Log.i("permission", "Request Code: "+ requestCode);
如果我把它放在我的HoneActivity
中,它可以正常工作,但我需要在片段中调用onRequestPermissionsResult
。如果我把代码放在我调用的requestPermissions
片段中,它就不再工作了。我还尝试了ssuper.onRequestPermissionsResult
,但没有成功。在其他主题中,我看到了一个bug,但我检查了我的版本,我使用的是com.android.support:appcompat-v7:24.0.0
当您在片段中调用它时
getActivity().requestPermissions(new String[{Manifest.permission.READ_EXTERNAL_STORAGE},12);
然后
在您正在添加片段的活动中被调用
因此,请在片段中选择requestPermissions()
,并在父活动中选中onRequestPermissionsResult()
,您将在其中添加片段
原因是requestPermissions需要一个活动作为aurgument检查完整详细信息。但是如果我直接调用requestPermissions(),而不调用getActivity()。比我在片段中应该得到onRequestPermissionsResult()调用要多,对吗?这对我不起作用
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);
}