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开发人员,这可能不是一个很好的消息。下面我们来说道说道,我们可能会遇到的坑...

android6.0权限管理demo

  • 2016-10-10 12:02
  • 2.99MB
  • 下载

Android6.0权限管理-PermissionsDispatcher

新的运行时权限仅当我们设置targetSdkVersion to 23才起作用,app在6.0之前的设备依然使用旧的权限系统。 如果app的targetSdkVersion 低于 23,那将被认为a...

Android6.0 权限管理工具类

1.定义一个BaseActvity,我们会在这里对权限进行封装,如想使用直接让你的Activity 继承BaseActvity即可:public class BaseActivity extends ...

Android 6.0 - 动态权限管理的解决方案

Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适...

Android 6.0+: 动态权限管理的解决方案

Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适...

关于Android6.0系统动态权限管理的解决方案

随着Android 5.X系统的普及,目前手机都在已经升级到了Android 6.0,那么Android6.0系统有一个新特性“动态权限管理”。        无需第三方应用和Root权限,原生的...

Android6.0权限管理之开源项目Grant

6.0权限管理解决方案之——Grant

android 6.0权限管理

android 6.0 权限管理的使用及一些使用说明
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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