Android 6.0权限控制
来源:互联网 发布:冰岛旅游 知乎 编辑:程序博客网 时间:2024/06/07 00:42
1:在BaseActiviy或者BaseFragment中添加代码:
/** * Manifest.permission. READ_PHONE_STATE * Manifest.permission. WRITE_EXTERNAL_STORAGE * Manifest.permission.ACCESS_FINE_LOCATION * Manifest.permission.CAMERA * Manifest.permission.RECORD_AUDIO * Manifest.permission.READ_PHONE_STATE * Manifest.permission.WRITE_EXTERNAL_STORAGE *权限检查 */public final static int REQ_CAMERA_PMS = 0x001;public final static int REQ_RECORD_PMS = 0x002;public final static int REQ_lOCATION_PMS = 0x003;public final static int REQ_READ_PHONE_STATE_PMS = 0x004;public final static int REQ_WRITE_EXTERNAL_STORAGE_PMS = 0x005;public boolean permissionIsGet(int reqCode,String permission){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{permission}, reqCode); return false; }else{ return true; }}//并监听用户权限选择返回@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQ_RECORD_PMS: if (grantResults != null && grantResults.length != 0) if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { ToastUtil.show("您需要开启语音权限,并重启应用"); } break; case REQ_CAMERA_PMS: if (grantResults != null && grantResults.length != 0) if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { ToastUtil.show("您需要开启照相权限,并重启应用"); } break; case REQ_lOCATION_PMS: if (grantResults != null && grantResults.length > 1) if (grantResults[0] != PackageManager.PERMISSION_GRANTED && grantResults[1] != PackageManager.PERMISSION_GRANTED) { ToastUtil.show("您需要开启定位权限,并重启应用"); }else{ permissionLocGeted(); } break; case REQ_READ_PHONE_STATE_PMS: if (grantResults != null && grantResults.length > 1) if (grantResults[0] != PackageManager.PERMISSION_GRANTED && grantResults[1] != PackageManager.PERMISSION_GRANTED) { ToastUtil.show("您需要开启获取手机状态权限,并重启应用"); }else{ permissionLocGeted(); } break; case REQ_WRITE_EXTERNAL_STORAGE_PMS: if (grantResults != null && grantResults.length > 1) if (grantResults[0] != PackageManager.PERMISSION_GRANTED && grantResults[1] != PackageManager.PERMISSION_GRANTED) { ToastUtil.show("您需要开启读取内存权限,并重启应用"); }else{ permissionLocGeted(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}/** *定位权限获取到时候的处理 */public void permissionLocGeted(){}2:使用:
if (!permissionIsGet(REQ_RECORD_PMS, Manifest.permission.RECORD_AUDIO)) { return true;}
0 0
- Android 6.0权限控制
- Android 中的权限控制
- android 权限控制
- android 权限控制2
- Android 权限控制代码分析
- Android Manifest.permission 权限控制
- Android的权限控制机制
- Android 权限控制代码分析
- Android权限控制代码分析
- Android权限控制代码分析
- Android 权限控制代码分析
- Android透传root权限控制
- Android Permission权限控制机制
- android 6.0动态权限申请以及拒绝后的控制
- Android中的安全与访问权限控制
- Android中的安全与访问权限控制
- Android客户端中权限的控制
- Android中的安全与访问权限控制
- mac 解析 xx.bin
- 第8周项目1 建立顺序串的算法库
- 第七周项目6——停车场模拟
- 文件系统-boost.filesystem
- Winform退出运行后,删除运行目录(批处理方法)
- Android 6.0权限控制
- 第七周项目1--建立顺序串的算法库
- AR增强现实开发介绍
- 查询Android桌面快捷方式是否存在
- mac xcode出现xxx.h没有出现的问题
- Xcode关闭烦人的警告
- [NOIP2008] 立体图-解题报告
- warning:unable to write jarlist cache file
- [Ubuntu]安装QQ国际版