Android 6.0 权限管理 实例
来源:互联网 发布:香港警匪片推荐知乎 编辑:程序博客网 时间:2024/06/07 04:22
Android 6.0 对权限有大的变动!
分为普通权限(和以前一样,不需运行时检查)
危险权限
PROTECTION_NORMAL类权限
当用户安装或更新应用时,系统将授予应用所请求的属于 PROTECTION_NORMAL 的所有权限(安装时授权的一类基本权限)。这类权限包括:
<span style="font-size:14px;">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</span>只需要在AndroidManifest.xml中简单声明这些权限就好,安装时就授权。不需要每次使用时都检查权限,而且用户不能取消以上授权。
危险权限 :
如下表:
同一组的任何一个权限被授权了,其他权限也自动被授权。例如,一旦WRITE_CONTACTS被授权了,app也有READ_CONTACTS和GET_ACCOUNTS了。
使用示例:在使用上面的危险权限时,要加入
private void checkCallPhonePermission() { // 以打电话权限为例 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.CALL_PHONE}, CALL_CODE); }else{ // TODO: 要进行的操作 系统小于6.0 时 } } else { // TODO: 要进行的操作 有权限时 } }
然后进行回调设置:
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case CALL_CODE: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Permission Granted Log.d("-----","WRITE_CONTACTS OK") ; // TODO: 要进行的操作 } else { // Permission Denied Log.d("-----","WRITE_CONTACTS Denied") ; Toast.makeText(MainActivity.this, "WRITE_CONTACTS Denied", Toast.LENGTH_SHORT) .show(); } break; default: break; } }
详情参考:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0830/3387.html
0 0
- Android 6.0 权限管理 实例
- android 6.0权限管理
- Android 6.0权限管理
- Android 6.0权限管理
- android 6.0权限管理
- Android 6.0 权限管理
- Android 6.0 权限管理
- Android 6.0 权限管理
- android 6.0 权限管理
- android 6.0权限管理
- Android 6.0 权限管理
- android 6.0 权限管理
- Android 6.0权限管理
- Android 6.0 权限管理
- Android 6.0新权限系统权限管理
- 权限管理功能实例
- android 6.0权限管理特性
- android 6.0权限管理特性
- C/C++中字符串数组及strlen()和sizeof()区别
- 模板类派生模板类
- 推导四对对应点单应矩阵的计算公式?
- 《Storm入门》总结
- IdeaVim插件使用技巧
- Android 6.0 权限管理 实例
- poj 2828 插队买票
- android学习路线
- 一道PHP面试题,求两个文件的相对路径
- ionic react-native和native开发移动app到底那个好
- uva10256 The Great Divide(凸包+判断)
- 抽奖算法 - 幸运大转盘 - java
- C# winform 开发注意事项
- 利用JS对两行Input radio 进行互斥选择。