以是否拥有读取内存卡权限为例:
第一步:定义常量
public static final int REQUET_WRITE_STORAGE = 1111;//读取存储卡请求码
第二步:检查权限,没有授权去授权,有的话直接实现你想要的功能
//检查是否拥有读取内存卡权限
if (ContextCompat.checkSelfPermission(ProjectDetailActivity.this,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
// 已经获得授权
//做你想做的。。。
} else {//没有的话去申请
ActivityCompat.requestPermissions(ProjectDetailActivity.this,
new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUET_WRITE_STORAGE );
}
第三步: 处理权限回调
//处理权限回调
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == Constants.REQUET_WRITE_STORAGE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 已经获得授权
//做你想做的。。。
} else {
Toast.makeText(ProjectDetailActivity.this, "权限已被决绝", Toast.LENGTH_LONG).show();
}
}
以上就是Android6.0动态权限的获取了,很实用