【已解决】Android 6.0权限设置,导致程序崩溃
来源:互联网 发布:淘宝如何手动上传 编辑:程序博客网 时间:2024/05/22 03:27
Android 6.0发布之后,谈到权限问题,为了保护用户更多的隐私,每次调用权限的时候,都要给用户提示,方便了用户,程序员们可是有的忙了,不过问题已解决。
解决如下:写一个工具类
/** * 权限类 * Created by wangguolion 2015/12/3. */public class RequestPermissionUtil { public RequestPermissionUtil() { } public static RequestPermissionUtil requestPermissionUtil; public static synchronized RequestPermissionUtil getRequestPermissionUtilInstance() { if (requestPermissionUtil == null) { requestPermissionUtil = new RequestPermissionUtil(); } return requestPermissionUtil; } /** * 电话权限 */ public static final int REQUEST_CALL_PHONE_PERMISSIONS = 1; /** * android.permission.CAMERA */ /** * 照相权限 */ public static final int REQUEST_CAMERA_PERMISSIONS = 2; /** * 读取相册权限 */ public static final int REQUEST_GALLERY_PERMISSIONS = 3; /** * 检测授权 * * @param context * @param ManifestPermission * @param requestCode 请求吗 * @return true:已经授权 false没有授权 */ public boolean insertDummyContactWrapper(Activity context, String ManifestPermission, int requestCode) { int hasWriteContactsPermission = 0; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { hasWriteContactsPermission = context.checkSelfPermission(ManifestPermission); } if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { context.requestPermissions(new String[]{ManifestPermission}, requestCode); } return false; } else { return true; } }}在调用权限的时候:注意一定要对应你Manifest文件的权限
if(RequestPermissionUtil.getRequestPermissionUtilInstance().insertDummyContactWrapper( this, Manifest.permission.CAMERA, RequestPermissionUtil.REQUEST_CAMERA_PERMISSIONS)){ //调用权限,具体代码就不写了,你的项目里有的}
当然还要处理一下拒绝或者同意权限逻辑(回调)
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case RequestPermissionUtil.REQUEST_CALL_PHONE_PERMISSIONS: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { //调用权限,代码根据需求写上,略... } } else { //Toast一下:权限被拒绝,请检查权限 } break; } }
这样,尽管你手机是6.0的,项目也不会崩溃了。
1 0
- 【已解决】Android 6.0权限设置,导致程序崩溃
- 【已解决】onCreateViewHolder中的代码错误,导致程序崩溃
- android StrictMode设置导致程序崩溃
- Android 6.0 运行中手动去设置界面取消该app的某个权限,导致application被强制销毁造成app崩溃问题的解决
- 当用户手动取消相机权限导致的程序崩溃的解决办法(Android 6.0以上好像没事,好像是...)
- Android检查应用权限是否被禁用,解决权限被禁用时程序崩溃
- Android 4.4 的权限问题,导致App 裁剪图片不能保存(已解决)
- Android 4.4 的权限问题,导致App 裁剪图片不能保存(已解决)
- 解决Android 打包后 so文件不完整导致程序崩溃
- 摄像头权限被拒绝导致程序崩溃的问题(6.0以下版本)
- android 6.0 权限程序崩溃,扫二维码崩溃与按键事件
- WebView导致程序崩溃!!!
- 多线程导致程序崩溃
- vc2010使用CMFCEditBrowseCtrl控件导致程序退出崩溃解决
- 拍照权限导致某些代码在6.0系统上崩溃
- android 异步弹出窗口 导致程序崩溃的问题
- Android 异步网络请求导致的程序崩溃
- cocos2dx 在android手机输入特殊字符导致程序崩溃
- android studio上git的使用
- 【C++】UTF-8字符和GB2312字符相互转换函数
- 电脑更换SSD过后睡眠状态无法唤醒解决方法(或无法关机)
- Webdriver 最大化Chrome浏览器报:Timed out receiving message from renderer处理办法
- oracle replace与translate的区别
- 【已解决】Android 6.0权限设置,导致程序崩溃
- AT命令集详解
- js实现自定义事件(字面量 && 原型)
- NDK开发----------------头文件生成法
- SpringMVC+ibatis数据库事务控制
- C# Socket系列三 socket通信的封包和拆包
- Android官方文档翻译 十三 3.1Supporting Different Languages
- 《快学Scala》习题一
- 编译原理实验之语法分析(算符优先分析算法(C语言))