zoukankan      html  css  js  c++  java
  • Android 6 检查权限代码

     1 private static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS= 0;
     2 
     3 //检查目前是否有权限
     4 if (checkSelfPermission(Manifest.permission.READ_CONTACTS)
     5         != PackageManager.PERMISSION_GRANTED) {
     6 
     7     if (shouldShowRequestPermissionRationale(
     8             Manifest.permission.READ_CONTACTS)) {
     9         // 这里写一些向用户解释为什么我们需要读取联系人的提示得代码
    10     }
    11 
    12 //请求权限,系统会显示一个获取权限的提示对话框,当前应用不能配置和修改这个对话框
    13     requestPermissions(new String[]{Manifest.permission.READ_CONTACTS},
    14             MY_PERMISSIONS_REQUEST_READ_CONTACTS);
    15    
    16     return;
    17 }

    下面代码处理用户响应 

     1 @Override
     2 public void onRequestPermissionsResult(int requestCode,
     3         String permissions[], int[] grantResults) {
     4     switch (requestCode) {
     5         case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
     6             if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
     7                 // 授权成功
     8 
     9             } else {
    10                 // 授权失败
    11 
    12             }
    13             return;
    14         }
    15 
    16     }
    17 }

    shouldShowRequestPermissionRationale() 方法说明

    1. 第一次请求权限时,用户拒绝了,下一次:shouldShowRequestPermissionRationale() 返回 true,应该显示一些为什么需要这个权限的说明
    2.第二次请求权限时,用户拒绝了,并选择了“不在提醒”的选项时:shouldShowRequestPermissionRationale() 返回 false
    3. 设备的策略禁止当前应用获取这个权限的授权:shouldShowRequestPermissionRationale() 返回 false

  • 相关阅读:
    sort exam
    一个简单的爬虫
    php双色球
    计算水果的总价格
    jquery三级导航,级联菜单精简
    判断学生成绩
    服务器信息展示
    服务器信息(二)一些常量名和时间戳的简单了解
    天气预报ajax+php(可惜用的是已经失效的api)
    mysql基础(二)
  • 原文地址:https://www.cnblogs.com/l2rf/p/5010738.html
Copyright © 2011-2022 走看看