这是应用在android6.0版本以上的权限获取,判断是否拥有这个权限以及如何获取权限:
//判断是否具有权限@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { //如果请求码与定义的相同,这里的PER_REQ_CODE是自己定义的一个数字,可以自己任意定义 if (requestCode==PER_REQ_CODE){ if (grantResults!=null&&grantResults.length>0){ if (grantResults[0]==PackageManager.PERMISSION_GRANTED){ readInfor(); }else { Toast.makeText(ContantsActivity.this,"没有权限",Toast.LENGTH_SHORT).show(); } } }}
请求权限的操作:
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){ //判断有没有权限 int flag = ActivityCompat.checkSelfPermission( ContantsActivity.this, android.Manifest.permission.READ_CONTACTS); if (flag!= PackageManager.PERMISSION_GRANTED){//没有权限 //请求权限 ActivityCompat.requestPermissions( ContantsActivity.this,//上下文 new String[]{android.Manifest.permission.READ_CONTACTS},//请求哪些权限 PER_REQ_CODE//请求码 ); }else { 执行拥有权限后的操作 } }else { 执行拥有权限后的操作 }}
时间: 2024-09-29 05:56:19