我使用此代码在 fragment 中请求许可
requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE},14);
在我的HomeActivity
中,我使用此代码来获取结果
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
Log.i("permission", "Request Code: "+ requestCode);}
例如,如果我将代码设置为 14
,我会在 onRequestPermissionsResult
上得到请求代码 65550
。如果我拒绝权限请求并再次请求它,我会得到不同的请求代码。这是使用相同 requestPermissions
和代码 14
onRequestPermissionsResult
的输出
Request Code: 65550
Request Code: 131086
Request Code: 196622
Request Code: 262158
Request Code: 327694
最佳答案
您的 Activity 不知道哪个 fragment 正在调用 startActivityForResult
如果您调用startActivityForResult(intent, 1)
从 fragment 中,您需要将其替换为 getActivity().startActivityForResult(intent, 1)
它很可能会解决您的问题
希望有帮助。
关于android - 每次使用不同的请求代码调用 onRequestPermissionsResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39747360/