Android Studio中修复onRequestPermissionsResult未调用父类方法问题
修复「代人预订」功能联系人权限请求问题(未调用super.onRequestPermissionsResult())
打开对应Activity类文件
在Android Studio项目视图里找到包含这段onRequestPermissionsResult方法的Activity类,双击打开编辑。修改方法代码
在现有switch代码块的外部(所有case处理完成后)添加父类方法调用,修改后的完整代码如下:
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case Utils.REQUEST_READ_CONTACTS: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { showContacts(); } else { // permission denied,Disable the // functionality that depends on this permission. } return; } } // 调用父类实现,保证系统权限处理逻辑正常执行 super.onRequestPermissionsResult(requestCode, permissions, grantResults); }
- 验证修复
保存代码后重新编译运行应用,测试「代人预订」功能的联系人权限请求流程,确认权限授予/拒绝后的逻辑正常执行,无因未调用父类方法导致的异常。
内容的提问来源于stack exchange,提问作者aissa Youcefi
相关产品推荐
相关产品推荐

