以是否拥有读取内存卡权限为例:
第一步:定义常量
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动态权限的获取了,很实用