Android6.0以后 申请敏感权限两次的解决方法
来源:互联网 发布:新田县广电网络费用 编辑:程序博客网 时间:2024/06/10 01:31
Android6.0之前, app在安装时会提示用户此app需要使用哪些权限,但用户只能选择同意或拒绝安装,而不能单独对某项权限进行授予或拒绝。Android的这套权限机制并没有真正的起到权限管理和保护信息的作用。所以从Android6.0开始,Android引入了新的权限管理机制,当用户选择了拒绝某敏感项权限时,应用将无法执行需要对应权限的api (Android权限机制在此)
故而对于6.0这种情况,很多app就会在开发时,设定 应用在安装后打开就提示用户所需的权限时,用户若是选择了拒绝,则退出当前app 。
那么问题来了,有时候部分涉及敏感权限的框架和功能(比如极光)在初始化“过早”的时候 会造成 提示用户所需的相同的权限 两次,这是因为 用户在还没有同意相关权限的时候,(极光)在初始化的时候就已经调用了对应了敏感权限的api,所以会调用两遍,将其初始化放在用户同意权限之后就ok了
/** * 检查运行时权限 * * 2017-03-27 */ private void checkPermissions() { if (!SPUtils.getBoolean(Constant.SP_PERMISSION, false)) { PermissionUtil.getInstance() .reqPermissions(instance, new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new PermissionUtil.OnReqPermissionListener() { @Override public void onUserCancel() { savePermissionsStatus(false); } @Override public void onSuccess() { if(null != MainActivity.handlerHolder){ MainActivity.handlerHolder.sendEmptyMessage(Constant.MSG_WHAT_LOAD_INDEX); } savePermissionsStatus(true); JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志 JPushInterface.init(getApplicationContext()); } @Override public void onFailed(String[] strings, String[] strings1) { savePermissionsStatus(false); } @Override public void onAlreadyDenied(String[] strings) { savePermissionsStatus(false); } }); } }
0 0
- Android6.0以后 申请敏感权限两次的解决方法
- android6.0敏感权限动态申请
- Android6.0权限申请
- Android6.0权限申请
- android6.0权限申请
- Android6.0权限申请
- Android6.0权限申请
- Android6.0权限申请
- Android6.0权限申请
- Android6.0+权限申请
- android6.0版本的权限申请处理
- Android6.0的动态权限申请
- android6.0以后删除HttpClient的解决方法
- Android6.0权限申请模型
- Android6.0 权限申请封装
- android6.0 动态申请权限
- Android6.0重要权限申请
- Android6.0以上权限申请
- how to port 2.6.x driver to 4.x --关于pinctl 和GPIO
- Spark
- 华为称手机流畅度不由单一部件决定
- mysql存储过程学习推荐网址
- 执行cp命令时提示cp: 略过目录
- Android6.0以后 申请敏感权限两次的解决方法
- JS数组合并
- 关于jquery的each()函数
- 新一代Windows系统重磅曝光:全局标签化
- GraphicsMagick+im4java 方案实现图片缩放
- Android透明度值表
- 给python安装numpy+scipy+sklearn
- CountDownLatch实现并发多线程操作
- C/C++库函数strstr和find实现子字符串查找