6.0出来也很久了,项目也因为没设配6.0引起了很多权限的BUG。之后看了下洪洋大神的Blog,基本上知道了如何请求权限,管理权限。
但是最近发现在Fragment中请求权限有点问题。
这里有两个坑:一个是Fragment中的请求方式,第二个就是Fragment中请求权限回调问题。

如何实现Fragment中的权限请求

看Blog都知道,请求权限可以通过以下方式去请求,这里模拟请求的是GPS Location权限

private void checkBlueToothPermission() {if (Build.VERSION.SDK_INT >= 23) {boolean hasLocationPermission =ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED;if (!hasLocationPermission) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_ENABLE_BT);}}}

但是在Fragment中我们不能通过ActivityCompat.requestPermissions去请求,因为这样纸请求Fragment不能收到onRequestPermissionsResult。所以我们应该直接用XXXfragment.this.requestPermissions去请求权限。
Fragment中请求权限回调
也许很纳闷,可能各位dalao的项目不会有这样的问题,但是在我的项目中偏偏出现了这样的问题。请求我是按照上面的XXXfragment.this.requestPermissions去请求权限,但是我的Fragment中仍然接收不到onRequestPermissionsResult回调。

观察项目发现,在这个Fragment的Activity也有同样的权限请求,同样也有onRequestPermissionsResult。但是我每次请求,都会被Activity的onRequestPermissionsResult所拦截,而Fragment中永远没有onRequestPermissionsResult回调。

于是我发现了,在Activity中的onRequestPermissionsResult没有调用到super.onRequestPermissionsResult(requestCode, permissions, grantResults); 当我加上之后出现了神奇的效应,Fragment中可以收到onRequestPermissionsResult的回调了!!!

Android 6.0 Fragment权限请求问题相关推荐

  1. android 6.0权限库,Android 6.0动态权限适配

    前言 最近项目发现比较多的问题是关于Android 6.0的问题,APP安装之后,在Android 6.0之后的系统,点击直接奔溃打不开,这是为什么昵?这就是Android 6.0以上的系统引入运行时 ...

  2. Android 6.0动态权限申请

    Android 6.0动态权限申请 特别感谢: https://www.jianshu.com/p/2fe4fb3e8ce0 本文是在该文的基础上添加了类似自己的读后感才完成的. 我并不希望成为白求恩 ...

  3. android 6.0动态权限问题

    最近,我发现手机的6.0权限在小米手机上存在问题,我在网上搜了很多的代码,都没有解决这个问题,所以这里记录一下自己的android 6.0权限的解决代码,如果有问题,大家可以在网上自己在找找代码去解决 ...

  4. android wifimanager权限,Android 6.0.1 - 权限问题= wifiManager.getScanResults()返回0

    permissionsList.add()不起作用,但MainActivity.this.requestPermissions()正常工作.问题是它带来一个对话框询问用户是否允许位置权限.Androi ...

  5. android app没有读写权限设置,Android 6.0以上权限拒绝打开权限设置界面的解决方法...

    本人使用小米手机,打开qq或者微信的时候,某个权限拒绝的话,会提示你开启,点击开启会跳转到app的权限设置界面,当然了,这是国内系统深层定制的原因,也就是说这个界面原声的android没有的!这里以小 ...

  6. Android 7.0动态权限大总结

    本文讲的是Android 7.0动态权限大总结,应公司项目需求,做了下Android 7.0适配.对于我们程序员,适配7.0主要就是对手机本地文件的Uri做转换处理.注意红色字体,意思也就是说对于ht ...

  7. [Android] Android 6.0 动态权限申请看完就会写

    Android 6.0 动态权限申请看完就会写 文章目录 Android 6.0 动态权限申请看完就会写 1. 起 2. 权限 3. 四个方法 4. 使用 5. 总结 1. 起 Android 的动态 ...

  8. Android 6.0 动态权限申请

    1. 概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在 ...

  9. Android 6.0动态权限

    新项目,新苦B开始, 从Android 6.0(API 23)开始,允许用户在应用运行时决定是否允许权限,而不是在应用安装的时候.这种方法简化了应用的安装过程,因为用户在安装或更新应用的时候不需要允许 ...

最新文章

  1. 2009第二届C++技术大会即将在上海隆重召开
  2. 争夺基础架构主导权,AI 新一轮战争将打响?
  3. java -jar 和 java -cp用法
  4. SAP Spartacus PageMetaService 的单元测试
  5. java - 根据条件求对应数字
  6. oracle with和insert结合使用
  7. 系统调用和库函数调用
  8. tomcat和nginx配置java服务器
  9. 关于登录chkdsk的方法
  10. 【浙江大学PAT真题练习乙级】1008 数组元素循环右移问题 (20分)真题解析
  11. 类库从自带的配置文件中获取信息(DLL文件 获取 DLL文件自带的配置信息) z...
  12. Android启动模式分析
  13. 使用PHP制作 简易员工管理系统之三(管理员登陆界面以及数据库验证)
  14. 解决The number of method references in a .dex file cannot exceed 64K的问题
  15. 3D万花筒无限延伸动画特效(源码)
  16. 寻找真实IP-子域名查找
  17. 【数字化】分享整理-数据中台=大数据平台+数据资产管理平台+数据服务平台
  18. Emgucv类型转换
  19. 深度学习系列错误笔记(一)之print(‘gpu‘,torch.cuda.is_available())输出gpu False
  20. Activity中的数据传送—案例: 购买装备

热门文章

  1. py读取本地图片并返回图片给前端base64格式
  2. mosh--sql教程个人笔记-高级-索引
  3. 一对夫妻的六年婚后生活
  4. ipad2019编写html,2019新款iPad值得入手吗?看外媒怎么说
  5. 百度站长工具之索引量
  6. 高防服务器的重要性及其在互联网安全中的作用
  7. MySQL 源码分析 v2.0
  8. WPS文字技巧—如何快速的为中英文混合文字内容排版
  9. galeracluster高可用集群安装(mysql)
  10. 大数据智能推荐促进内容生态建设 今日头条与时尚集团战略合作