• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android 权限拒绝时的问题解决(详解)

android 权限拒绝时的问题解决(详解)

作者:wk_先森 字体:[增加 减小] 来源:互联网 时间:2017-11-18

wk_先森通过本文主要向大家介绍了权限拒绝问题,android 拒绝问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本篇博客主要针对于相机权限的解决,因为公司项目中二维码遇到这个问题,在网上找了两天的方案,几乎都是同一的解决办法,try catch;

特此我自己写一篇关于二维码权限的拒绝问题解决办法,还添加了6.0权限等问题,希望对你们有所帮助,我的问题只针对于二维码调用相机权限,

对于其他权限,我没有深入的了解,不知能否对于其他权限问题有所帮助,谅解。

 

问题的解决办法:
1.向项目中部署Module形式的lib_zxing。 2.在调用二维码时的事件做如下权限判断 if (Build.VERSION.SDK_INT >= 23) { //如果sdk版本大于23.表示6.0以上,走6.0权限 checkPer(); } else { //否则跳转二维码扫描页面 Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); }
3.在lib_zxing中的CaptrueActivity中做如下修改 //我们在点击拒绝时,会出现一个相机相关的异常,点击允许没有异常 //如果有异常。我们针对这个异常做相应的处理 if (e != null) { Log.e("TAG", "callBack: ", e); //这个是判断6.0以下权限,在点击拒绝时做相应处理 if(Build.VERSION.SDK_INT < 23){ //获取异常,保证只有在这个异常时,才会给出相应的提醒 if(e.toString().equals("java.lang.RuntimeException: Fail to connect to camera service")){ Toast.makeText(CaptureActivity.this,"亲!您拒绝了权限申请!",Toast.LENGTH_LONG).show(); //将页面销毁 finish(); } } }
4. 6.0权限方案 首先添加依赖 compile 'pub.devrel:easypermissions:1.0.1' private void checkPer() {
if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA)) { Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); } else { EasyPermissions.requestPermissions(this, "为了您能够正常使用扫一扫功能,juxin商城需要获得相机权限", RC_CAMERA, Manifest.permission.CAMERA); }
}
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); }
@Override public void onPermissionsGranted(int requestCode, List<String> perms) { // 请求权限已经被授权 Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); }
@Override public void onPermissionsDenied(int requestCode, List<String> perms) { // 请求权限被拒绝 if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) { new AppSettingsDialog.Builder(this). setRationale("没有该权限,此应用程序可能无法正常工作。打开应用设置屏幕以修改应用权限").build().show(); } }

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • android 权限拒绝时的问题解决(详解)

相关文章

  • 2017-05-26Android中ContentProvider组件数据共享
  • 2017-05-26ArcGIS Android工程迁移到其他电脑不能打开的问题,arcgisandroid
  • 2017-05-26Android之Activity系列总结(一)--Activity概览,android--activity
  • 2017-05-26java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE,apachemessagequeue
  • 2017-05-26Service的启动与停止、绑定与解绑,service停止绑定
  • 2017-05-26【lushengduan】01、搭建安卓App开发环境 编写程序HelloWorld,lushengduan安卓
  • 2017-05-26Android登录客户端,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
  • 2017-05-26快递物流信息布局,快递物流信息
  • 2017-05-26ListView嵌套出现的问题,listview嵌套出现
  • 2017-05-26Android菜单(动画菜单、360波纹菜单),android波纹

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android开发学习之路--Service之初体验
    • Android 7.0(牛轧糖)新特性,android牛轧糖
    • 通过 Intent 传递类对象
    • Android下文件的压缩和解压(Zip格式)
    • 硅谷社交8--联系人列表页面,硅谷社交8--联系人
    • Android studio 插件安装 plugin
    • Android--音乐播放器
    • Stack Overflow 排错翻译,stackoverflow
    • AlertDialog创建6种对话框的用法
    • 2.5.7 Toast(吐司)的基本使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有