安卓应用获取权限判断

这是应用在android6.0版本以上的权限获取,判断是否拥有这个权限以及如何获取权限:
 1 //判断是否具有权限
 2 @Override
 3 public void onRequestPermissionsResult(int requestCode,
 4                                        String[] permissions,
 5                                        int[] grantResults) {
 6 
 7     //如果请求码与定义的相同,这里的PER_REQ_CODE是自己定义的一个数字,可以自己任意定义
 8     if (requestCode==PER_REQ_CODE){
 9         if (grantResults!=null&&grantResults.length>0){
10             if (grantResults[0]==PackageManager.PERMISSION_GRANTED){
11                 readInfor();
12             }else {
13                 Toast.makeText(ContantsActivity.this,"没有权限",Toast.LENGTH_SHORT).show();
14             }
15         }
16     }
17 }
请求权限的操作:
 1 if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
 2         //判断有没有权限
 3         int flag = ActivityCompat.checkSelfPermission(
 4                 ContantsActivity.this,
 5                 android.Manifest.permission.READ_CONTACTS);
 6         if (flag!= PackageManager.PERMISSION_GRANTED){//没有权限
 7             //请求权限
 8             ActivityCompat.requestPermissions(
 9                     ContantsActivity.this,//上下文
10                     new String[]{android.Manifest.permission.READ_CONTACTS},//请求哪些权限
11                     PER_REQ_CODE//请求码
12             );
13         }else {
14            执行拥有权限后的操作
15         }
16     }else {
17        执行拥有权限后的操作
18     }
19 }
 
 
 
 
原文地址:https://www.cnblogs.com/zhangdiIT/p/5830054.html