android M上可能需要开发者注意的权限大全
16lz
2021-01-23
PROTECTION_NORMAL类权限
当用户安装或更新应用时,系统将授予应用所请求的属于 PROTECTION_NORMAL 的所有权限(安装时授权的一类基本权限)。这类权限包括:
android.permission.ACCESS_LOCATION_EXTRA_COMMANDSandroid.permission.ACCESS_NETWORK_STATEandroid.permission.ACCESS_NOTIFICATION_POLICYandroid.permission.ACCESS_WIFI_STATEandroid.permission.ACCESS_WIMAX_STATEandroid.permission.BLUETOOTHandroid.permission.BLUETOOTH_ADMINandroid.permission.BROADCAST_STICKYandroid.permission.CHANGE_NETWORK_STATEandroid.permission.CHANGE_WIFI_MULTICAST_STATEandroid.permission.CHANGE_WIFI_STATEandroid.permission.CHANGE_WIMAX_STATEandroid.permission.DISABLE_KEYGUARDandroid.permission.EXPAND_STATUS_BARandroid.permission.FLASHLIGHTandroid.permission.GET_ACCOUNTSandroid.permission.GET_PACKAGE_SIZEandroid.permission.INTERNETandroid.permission.KILL_BACKGROUND_PROCESSESandroid.permission.MODIFY_AUDIO_SETTINGSandroid.permission.NFCandroid.permission.READ_SYNC_SETTINGSandroid.permission.READ_SYNC_STATSandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REORDER_TASKSandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SET_TIME_ZONEandroid.permission.SET_WALLPAPERandroid.permission.SET_WALLPAPER_HINTSandroid.permission.SUBSCRIBED_FEEDS_READandroid.permission.TRANSMIT_IRandroid.permission.USE_FINGERPRINTandroid.permission.VIBRATEandroid.permission.WAKE_LOCKandroid.permission.WRITE_SYNC_SETTINGScom.android.alarm.permission.SET_ALARMcom.android.launcher.permission.INSTALL_SHORTCUTcom.android.launcher.permission.UNINSTALL_SHORTCUT只需要在AndroidManifest.xml中简单声明这些权限就好,安装时就授权。不需要每次使用时都检查权限,而且用户不能取消以上授权。但这只是在sdk 23之前版本发生的事情,之后版本就需要app去询问用户并请求授予权限。
权限分组(dangerous级别,必须申请的):
同一组的任何一个权限被授权了,其他权限也自动被授权。例如,一旦WRITE_CONTACTS
被授权了,app也有READ_CONTACTS和
GET_ACCOUNTS
了。
源码中被用来检查和请求权限的方法分别是Activity的checkSelfPermission
和requestPermissions
。这些方法api23引入。
也可以使用 support.v4.content.ContextCompat 和 support.v4.app.ActivityCompat来查询、申请权限。
附注:
通过设置项目的compilesdk低于23,targetsdk版本低于23,可以暂时规避app在6.0系统上遇到的动态权限问题,app运行效果和在3.x、4.x、5.x效果一样。不过随着android系统的不断更新,最好建立一套自己的权限处理机制。比如第一次遇到敏感权限时,向用户申请,如果被拒绝,可以在下次需要时提示用户跳转到系统管理中设置权限。
更多相关文章
- Android去除系统自带动画的两种方法
- 使用Java代码在应用层获取Android系统属性
- 【Android】win10操作系统下Android开发环境配置
- Android点击返回按钮两次退出系统
- android 多用户之间userid和username之间判断处理;
- Android系统库错误解决
- android studio项目嵌入到Android系统源码