Android 6.0的变化之权限管理

转载 2016年05月30日 10:54:27

Runtime Permissions

Android 6.0 增加了权限管理,用户可以直接管理应用的权限。但对于Android开发人员,这可能不是一个很好的消息。下面我们来说道说道,我们可能会遇到的坑以及需要注意得问题。

1、权限询问对话框不会自己弹出来。开发者不得不自己调用。如果开发者要调用的一些函数需要某权限而用户又拒绝授权的话,函数将抛出异常直接导致程序崩溃。用户也可以随时在设置里取消已经授权的权限。

2、这个新的运行时权限仅当我们设置targetSdkVersion to 23。app在6.0之前的设备依然使用旧的权限系统。如果app的targetSdkVersion 低于 23,那将被认为app没有用23新权限测试过,那将被继续使用旧有规则:用户在安装的时候不得不接受所有权限,安装后app就有了那些权限咯!

3、注意,此时用户依然可以取消已经同意的授权!用户取消授权时,android 6.0系统会警告,但这不妨碍用户取消授权。

4、当我们在targetSdkVersion 低于23的app调用一个需要权限的函数时,这个权限如果被用户取消授权了的话,不抛出异常。但是他将啥都不干,结果导致函数返回值是null或者0.而返回的结果也有可能会导致应用奔溃。

5、当用户安装或更新应用时,系统将授予应用所请求的属于 PROTECTION_NORMAL 的所有权限(安装时授权的一类基本权限)。 
例如: 
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 
android.permission.ACCESS_NETWORK_STATE 
android.permission.ACCESS_NOTIFICATION_POLICY 
android.permission.ACCESS_WIFI_STATE 
android.permission.ACCESS_WIMAX_STATE 
android.permission.BLUETOOTH 
android.permission.BLUETOOTH_ADMIN 
android.permission.BROADCAST_STICKY 
android.permission.CHANGE_NETWORK_STATE 
android.permission.CHANGE_WIFI_MULTICAST_STATE 
android.permission.CHANGE_WIFI_STATE 
android.permission.CHANGE_WIMAX_STATE 
android.permission.DISABLE_KEYGUARD 
android.permission.EXPAND_STATUS_BAR 
android.permission.FLASHLIGHT 
android.permission.GET_ACCOUNTS 
android.permission.GET_PACKAGE_SIZE 
android.permission.INTERNET 
android.permission.KILL_BACKGROUND_PROCESSES 
android.permission.MODIFY_AUDIO_SETTINGS 
android.permission.NFC 
android.permission.READ_SYNC_SETTINGS 
android.permission.READ_SYNC_STATS 
android.permission.RECEIVE_BOOT_COMPLETED 
android.permission.REORDER_TASKS 
android.permission.REQUEST_INSTALL_PACKAGES 
android.permission.SET_TIME_ZONE 
android.permission.SET_WALLPAPER 
android.permission.SET_WALLPAPER_HINTS 
android.permission.SUBSCRIBED_FEEDS_READ 
android.permission.TRANSMIT_IR 
android.permission.USE_FINGERPRINT 
android.permission.VIBRATE 
android.permission.WAKE_LOCK 
android.permission.WRITE_SYNC_SETTINGS 
com.android.alarm.permission.SET_ALARM 
com.android.launcher.permission.INSTALL_SHORTCUT 
com.android.launcher.permission.UNINSTALL_SHORTCUT

6、源码中被用来检查和请求权限的方法分别是Activity的checkSelfPermission和requestPermissions。

7、为了兼容,google也给我们提供了v4兼容库。当然 现在网上也能搜到一些开源库:PermissionsDispatcher

8、当app开着的时候被撤消了,这时app会突然终止 terminated。

Android 6.0的变化之权限管理

Runtime PermissionsAndroid 6.0 增加了权限管理,用户可以直接管理应用的权限。但对于Android开发人员,这可能不是一个很好的消息。下面我们来说道说道,我们可能会遇到的坑...
  • xiaorenwu1206
  • xiaorenwu1206
  • 2015年10月21日 19:54
  • 7420

Android 6.0 运行时权限管理最佳实践

在Android M中权限系统被重新设计,发生了颠覆性的变化,很多人把握不好这个变化,一是对这个权限策略和套路还没有摸透,二是没有一个很好的实践来支撑,很多人问我关于权限管理的问题,往往我都没有直接回...
  • yanzhenjie1003
  • yanzhenjie1003
  • 2016年09月11日 13:11
  • 263053

Android6.0权限管理依赖库的介绍和使用

android系统的权限问题不管是对用户还是开发者都是一块诟病,针对这个问题android官方终于在6.0的版本上给出方案了,一些危险权限不在是在manifest中注册下就能使用了,全都需要用户亲自确...
  • hongbingfans
  • hongbingfans
  • 2016年07月13日 13:55
  • 2246

android6.0权限通用管理(不在头大)

一个类解决Android6.0权限的繁杂,完美应付日常开发,欢迎指教~  在activity中涉及到需要申请权限的功能时,比如点击按钮照相,这是主要一段代码,没什么难度就是做了一个统一回调: ...
  • ak47985
  • ak47985
  • 2017年04月19日 20:26
  • 300

Android6.0网络权限管理

Android 6.0 Marshmallow(棉花糖)是目前谷歌公布的最新版本的操作系统,其中一项改进是针对程序调用权限控制又进一步升级。 在之前的Android系统中,用户在安装应用时会收到一堆...
  • GEM_yaorao
  • GEM_yaorao
  • 2015年10月17日 11:48
  • 2477

Android开发——Android 6.0权限管理机制详解

0.前言 最近在研究所实习,我负责维护Android手机取证项目的Android客户端,有客户反映我们的APP在Android6.0无响应,经过调试发现SD卡读写权限权限被拒绝。但明明是在Androi...
  • SEU_Calvin
  • SEU_Calvin
  • 2016年08月09日 20:27
  • 16386

Android6.0M权限管理实战,完美轻量级封装

Android6.0M权限管理实战,完美轻量级封装 随着Android版本的不断更新,Android再权限管理方面的诟病越来越明显。Google的Android开发人员也意识到了Android应用...
  • u010785585
  • u010785585
  • 2016年11月16日 17:56
  • 7738

Android 6.0 运行时权限处理完全解析

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/50709663; 本文出自:【张鸿洋的博客】 一、概述 随着A...
  • lmj623565791
  • lmj623565791
  • 2016年02月22日 09:31
  • 244958

android 6.0 动态权限解决方案

本文转载自:http://blog.csdn.net/yanzhenjie1003/article/details/52503533 Android 6.0 运行时权限管理最佳实践 ...
  • wangsfine
  • wangsfine
  • 2016年11月28日 11:15
  • 2968

彻底解决Android6.0权限管理问题

随着Android版本的不断更新,Google的Android开发人员也想到了Android应用在权限管理方面的各种问题,让好多用户摸不着头脑就使用了用户的隐私数据。 为了在权限这方面加强管理,安卓平...
  • LF_HYCZ
  • LF_HYCZ
  • 2017年03月08日 23:21
  • 2244
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 6.0的变化之权限管理
举报原因:
原因补充:

(最多只允许输入30个字)