安卓6.0 定位权限设置(特殊)

主要参考一下两位大神的文章以及自我实践
https://my.oschina.net/u/990728/blog/549914
http://www.jianshu.com/p/239d26d85720

安卓6.0后蓝牙搜索需要开启定位服务,用户第一次经常不明所以会拒绝申请,导致无法使用蓝牙功能,下面分析一些特殊品牌手机的定位权限申请。

1. 小米

(4c android7.0 miui8.2 targetSDKversion 25)

1.建议废弃ActivityCompat.shouldShowRequestPermissionRationale

if (ActivityCompat.shouldShowRequestPermissionRationale(Activity.this,
                        Manifest.permission.ACCESS_COARSE_LOCATION)) 

这句代码主要是用来确认用户是否曾经拒绝过该权限的申请,拒绝过则返回true.

在true的情况下,我们需要人性化的在开启权限前用一个dialog(“请授予定位权限的授权,避免影响蓝牙搜索功能”)来提醒用户该权限开启的必要性,防止用户不理解为什么要反复弹框要求授权。
注意:
如果用户在过去拒绝了权限请求,并在权限请求系统对话框中选择了 Don’t ask again 选项,此方法将返回 false,如果只是单纯拒绝就返回true.

然而,小米的这个方法永远会返回false,所以建议废弃

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页