1.导入android—surpport—v4里面ActivityCompat的包
2.权限检查
3.提示用户
4.若没有权限则动态获取
上面是如何使用,下面说说使用过程中遇到的问题:
1.在android6.0以下的系统上面只需要在Manifest.xml文件中进行注册即可,并且可以在应用设置界面看到应用默认权限都是开启的,反之,在android6.0系统以上,包括android6.0即使在Manifest.xml文件
中进行了注册,在应用设置界面可以看到在android6.0系统被规定为危险,敏感度高的权限默认都是关闭,需要在App运行时进行动态监测,由用户自由选择是否要开启相应权限
2.在android6.0以下的系统上面为了是没有兼容android6.0系统新特性的App,需要在用户关闭相关权限后,获取不到相关权限后进行异常处理,可以在捕获到异常后以对话框的形式提醒用户打开相应的权限,以便可以正常使用App,也可以直接打印日志等,具体的情况具体处理。
3.在在android6.0以下的系统上面可以静态检查相关权限以否已经注册:
1. PackageManager pm = getPackageManager();
2. boolean permission = (PackageManager.PERMISSION_GRANTED ==
3. pm.checkPermission(“android.permission.RECORD_AUDIO”, “packageName”));
4. if (permission) {
5. showToast(“有这个权限”);
6. }else {
7. showToast(“木有这个权限”);
8. }
4.在android6.0系统以上,包括android6.0可动态检查相关权限,具体思路可以参考下面的文章:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1110/3670.html
关于android6.0动态获取权限的那点事
最新推荐文章于 2023-06-13 10:58:47 发布