標籤:
這是應用在android6.0版本以上的許可權擷取,判斷是否擁有這個許可權以及如何擷取許可權:
//判斷是否具有許可權
@Override
public 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 {
執行擁有許可權後的操作
}
}
安卓應用擷取許可權判斷