我在使用此代码的片段中请求权限
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
,我会在65550
上获得请求代码onRequestPermissionsResult
。如果我拒绝许可请求而不是再次请求它,我会收到不同的请求代码。这是使用相同onRequestPermissionsResult
并使用代码14
requestPermissions
的输出
Request Code: 65550
Request Code: 131086
Request Code: 196622
Request Code: 262158
Request Code: 327694
答案 0 :(得分:2)
您的活动并不知道哪个片段正在调用startActivityForResult
因此,如果您从片段中调用startActivityForResult(intent, 1)
,则需要将其替换为getActivity().startActivityForResult(intent, 1)
它很可能会解决您的问题
希望它有所帮助。