以是否擁有讀取記憶體卡權限為例:
第一步:定義常量
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動态權限的擷取了,很實用