在Android6.0之后对一些危险也就是说敏感权限要进行手动授权,在此记录一下。
比如说你要申请写的权限
//申请权限
private void verifyPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
CODE_REQUEST_PERMISSION);
} else {
//已经有这个权限了,下面就进行你要做的操作...
}
}
用户可以选择授权或取消,那么我们如何知道用户的选择呢,这就要求我们重载Acitivity的一个接口,
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == CODE_REQUEST_PERMISSION) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission Granted 授权成功
//进行你要进行的操作
} else {
Log.e("onRequest: ", "授权失败");
// Permission Denied
}
}
}
那么动态授权在什么地方使用呢,就是在你要进行敏感操作的时候使用就可以了。