记录一下最普通的动态请求权限的方法:
private int requestCode == 123;
//判断当前系统的版本
if(Build.VERSION.SDK_INT >= 23){
int checkWriteStoragePermission = ContextCompat.checkSelfPermission(activity,
Manifest.permission.READ_PHONE_STATE);
//如果没有被授予
if(checkWriteStoragePermission != PackageManager.PERMISSION_GRANTED){
//请求权限,此处可以同时申请多个权限
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_PHONE_STATE}, requestCode);
return;
}else{
// do something....
}
}else {
// do something....
}
@Override
public void onRequestPermissionsResult(int requestCode, final String[] permissions, int[] grantResults) {
switch (requestCode) {
case requestCode :
if(grantResults.length > 0 &&
grantResults[0] == PackageManager.PERMISSION_GRANTED){
// do something....
}else{
Toast.makeText(activity, "获取权限失败!", Toast.LENGTH_SHORT).show();
}
break;
}
}