这是应用在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 }