权限处理
来源:互联网 发布:手机自动充值软件 编辑:程序博客网 时间:2024/06/06 03:11
检查权限
// Assume thisActivity is the current activityint permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR);
如果应用具有此权限,方法将返回 PackageManager.PERMISSION_GRANTED,并且应用可以继续操作。如果应用不具有此权限,方法将返回 PERMISSION_DENIED,且应用必须明确向用户要求权限。
请求权限
在请求权限之前,不妨为用户提供一个解释。请记住,您不需要通过解释来说服用户;如果您提供太多解释,用户可能发现应用令人失望并将其移除。
// Here, thisActivity is the current activityif (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.READ_CONTACTS)) { // Show an expanation to the user *asynchronously* -- don't block // this thread waiting for the user's response! After the user // sees the explanation, try again to request the permission. } else { // No explanation needed, we can request the permission. ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an // app-defined int constant. The callback method gets the // result of the request. }}
处理权限请求响应
@Overridepublic void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST_READ_CONTACTS: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // permission was granted, yay! Do the // contacts-related task you need to do. } else { // permission denied, boo! Disable the // functionality that depends on this permission. } return; } // other 'case' lines to check for other // permissions this app might request }}
请完整测试所有权限,授权与没授权时,应用的表现是否正常。
阅读全文
0 0
- 权限处理
- 权限处理
- 项目权限处理处理模块
- Community Server-->权限处理
- ACL权限处理
- 权限处理类PermissionServiceAdapter
- 权限处理类PermissionServiceAdapter
- Linux权限处理命令
- spring(AOP)权限处理
- subinacl 处理注册表权限
- subinacl 处理文件权限
- Android6.0 权限处理
- Android6.0权限处理
- android 6.0权限处理
- 对于权限的处理
- Android Selinux 权限处理
- 菜单权限处理
- android 6.0权限处理
- java方法多态,变量没有多态
- 机器学习--EM算法
- Oracle 登录以及解锁账号
- JVM三大核心区域
- 使用JSch来上传或者下载linux上的文件
- 权限处理
- ECharts2.0柱状图横向显示
- Java方法的可变参数类型
- 数字证书的申请
- 协方差矩阵
- Kerberos hadoop常见问题汇总
- c++ eigen 简单用法
- 春风十里不如你--Angularjs 中的iframe 标签 ng-src 路径
- java toString()和String.valueOf() 和(String)object区别