Android 6.0权限处理
来源:互联网 发布:纪元1404 类似 知乎 编辑:程序博客网 时间:2024/06/06 08:35
一个工具类PermissionUtils
原理 : 判断是否授权 如果未授权就请求授权
优点 : 简单
缺点 : 没有做二次调用的操作,所以部分权限操作时,需要授权确认之后再次调用
直接在代码中使用即可
/** * 短信 */ public static boolean getSmsPermission(Activity mActivity) { if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.READ_SMS}, REQUEST_CODE); return true; } if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_WAP_PUSH) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.RECEIVE_WAP_PUSH}, REQUEST_CODE); return true; } if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_MMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.RECEIVE_MMS}, REQUEST_CODE); return true; } if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.RECEIVE_SMS}, REQUEST_CODE); return true; } if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.SEND_SMS}, REQUEST_CODE); return true; } return false; }
使用方法
public void callPhone(View view) { Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:10086")); if (PermissionsUtils.getPhonePermission(this)) { return; } startActivity(intent); }
完整代码请见Github
Github地址
阅读全文
0 0
- android 6.0权限处理
- android 6.0权限处理
- android 6.0权限处理
- Android 6.0权限处理
- Android 6.0权限处理
- android 6.0 权限bug、权限处理
- 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 M(6.0) 权限,运行时权限处理
- Android 6.0 运行时权限处理
- 课程设计————学生信息管理系统
- java生成随机汉字
- 【51Nod】1432 独木舟
- C++使用vector.erase()报错:vector iterators incompatible 解决方案
- spark: RDD与DataFrame之间的相互转换
- Android 6.0权限处理
- android应用开发常用的一些协议学习
- spark学习一
- python webbrowser
- (三)jQuery.ajxa——dataType:json(2)
- Activity窗口模式
- Linux screen 命令详解
- django发送邮件
- 关于网络唤醒设置的说明