直接上代码
requestPermission(new String[]{
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.CALL_PHONE,
Manifest.permission.READ_CALL_LOG,
Manifest.permission.READ_PHONE_NUMBERS,
});
public boolean requestPermission(String[] permissions){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// 检查权限是否获取(android6.0及以上系统可能默认关闭权限,且没提示)
PackageManager pm = getPackageManager();
List<String> list = new LinkedList<>();
for(int i=0;i<permissions.length;i++){
if(pm.checkPermission(permissions[i],getPackageName())==PackageManager.PERMISSION_DENIED){
Log.e("lzh", permissions[i]+": PERMISSION_DENIED");
list.add(permissions[i]);
}
else {
Log.e("lzh", permissions[i]+": good");
}
}
if(list.size()!=0){
requestPermissions(list.toArray(new String[list.size()]), 100);
return false;
}
else{
return true;
}
}
else {
return true;
}
}