关于安卓6.0的权限笔记
来源:互联网 发布:人工智能为什么这么火 编辑:程序博客网 时间:2024/05/17 20:27
Android 6.0 中不仅要在 AndroidManifest.xml 中声明权限,还在运行的时候增加了权限动态判断涉及到的以下权限都会在运行时被判断,包括下面的权限
- 权限
- 传感器
- 日历
- 摄像头
- 通讯录
- 地理位置
- 麦克风
- 电话
- 短信
- 存储空间
在 Android 6.0 中默认对 targetSdkVersion 小于 23 的应用申请的权限进行允许,但是在 targetSdkVersion 大于等于 23 的应用中 ,就需要在代码上去进行动态的判断
在涉及到权限操作的地方,需要使用如下代码进行权限的判断和获取。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ //申请WRITE_EXTERNAL_STORAGE权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE_REQUEST_CODE);}
其中 这个方法用于判断是否有指定的权限
ContextCompat.checkSelfPermission()
这个方法用于申请指定的权限
ActivityCompat.requestPermissions()
此时会弹出一个权限申请的对话框,在用户点击了允许或者拒绝之后会调用一个回调方法
@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); }
其中的 requestCode 和 permissions 可以从中得到权限是否申请成功,然后根据结果进行下一步动作。
未影响的权限
剩下的一些权限不需要在运行时判断 , 在 AndroidManifest.xml 文件中添加即可。
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_LOCK android.permission.WRITE_SYNC_SETTINGScom.android.alarm.permission.SET_ALARMcom.android.launcher.permission.INSTALL_SHORTCUTcom.android.launcher.permission.UNINSTALL_SHORTCUT
0 0
- 关于安卓6.0的权限笔记
- 关于安卓6.0的运行时权限
- 关于安卓6.0权限的动态获取
- 一个关于安卓apk权限的问题
- 安卓6.0权限
- 安卓6.0的权限管理
- 安卓6.0注意的权限问题
- 安卓6.0 的动态权限
- 安卓6.0权限的点滴记录
- 安卓6.0权限的设置
- 安卓学习笔记--- Android 6.0运行时权限的申请使用及EasyPermissions的使用
- 安卓学习笔记---聊一聊Android 6.0的运行时权限
- 安卓所有的权限
- 安卓的权限问题
- 安卓6.0权限管理
- 安卓6.0权限使用
- 安卓6.0获取权限
- 关于cocos2d-x的安卓打包的笔记
- Java字符串的处理
- 窗口类附加数据缓冲区和窗口附加缓冲区的区别
- 科大讯飞语音合成_iOS
- 企业如何正确走好SEO这条“不归路”
- linux设备驱动--globalmem字符设备框架分析
- 关于安卓6.0的权限笔记
- (Codeforces Round #362 (Div. 2)) D. Puzzles
- java 面试和Java环境配置以及阿里云maven配置
- 阅读郭林《第一行代码》的笔记——第12章 Android特色开发,使用传感器
- 关于DisPatchMessage的推测
- SourceForge网站加快下载的技巧
- HTML 5 音频
- tensorflow-Constants, Sequences, Random Values
- iOS 投影效果