在Fragment申请权限无法回调onRequestPermissionsResult方法
来源:互联网 发布:java的api文档怎么用 编辑:程序博客网 时间:2024/06/05 19:55
在6.0時Google推出运行时权限,只有在需要权限的时候,才告知用户是否授权,是在runtime时候授权,而不是在原来安装的时候 。至于需要申请的权限以及申请权限的过程网上有很多,搜一下就有了。这里只是记录我们在Fragment中申请权限时发现Fragment中不会回调onRequestPermissionsResult方法,如果我们在Activity中重写onRequestPermissionsResult方法你会发现它会回调到Activity中的onRequestPermissionsResult方法,所以我们需要在Activity中的onRequestPermissionsResult方法中进行处理让它把改事件传递到我们的fragment中。
我们在Activity中重写onRequestPermissionsResult方法
// Activity中@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); // 获取到Activity下的Fragment List<Fragment> fragments = getSupportFragmentManager().getFragments(); if (fragments == null) { return; } // 查找在Fragment中onRequestPermissionsResult方法并调用 for (Fragment fragment : fragments) { if (fragment != null) { // 这里就会调用我们Fragment中的onRequestPermissionsResult方法 fragment.onRequestPermissionsResult(requestCode, permissions, grantResults); } } }
之后在我们申请权限的Fragment中重写onRequestPermissionsResult方法时,通过在Activity中遍历所有的Fragment中调用onRequestPermissionsResult方法,就是我们Fragment中重写的onRequestPermissionsResult方法:
// Fragment 中@Overridepublic void onRequestPermissionsResult(final int requestCode, @NonNull String[] permissions,@NonNull int[] grantResults){ // TODO 写我们自己的处理逻辑}
阅读全文
0 0
- 在Fragment申请权限无法回调onRequestPermissionsResult方法
- 在Fragment中申请运行时权限onRequestPermissionsResult收不到数据
- Android 6.0 运行时在Fragment中申请权限无法回调 问题
- Android M 权限管理拿不到OnRequestPermissionsResult的回调
- 关于requestPermissions不显示权限申请而直接跳转onRequestPermissionsResult的问题
- 安卓6.0在Fragment申请运行时权限
- Android6.0中申请权限在fragment中无回调
- android 6.0权限,onRequestPermissionsResult回调不执行
- 动态申请权限允许后fragment崩溃
- 安卓6.0新特性在Fragment申请运行时权限
- 6.0申请权限的方法
- android无法申请android.permission.DEVICE_POWER权限
- Fragment 无法在Activity.onSaveInstanceState方法后commit
- android运行时权限onRequestPermissionsResult不执行的问题
- 6.0权限申请问题——Fragment中
- VS2005(C#)在win7下申请UAC权限方法(已验证)
- 在程序运行时申请权限
- 权限申请
- 高德地图Web端JavaScript API开发(一)---3D地图显示
- spring boot 与 JdbcTemplate 一起工作
- 按照图片比例定位文字展示区域代码
- jquery.easyui的ComboBox使用
- mysql 主从复制(二)
- 在Fragment申请权限无法回调onRequestPermissionsResult方法
- 【学习摘记】马士兵bbs改良版_课时18-21_回复帖子
- 日期自动补零
- Fund Management UVA
- EBS 12.2.6 patch克隆过程
- HDU 4300 Clairewd’s message 字符串hash
- mailbox数据发送和接收的过程
- React组件的生命周期
- jquery 常用代码