Androidは自分のアプリに必要な権限が与えられているかどうかをどのように検出します
1706 ワード
シーン:Appは位置決め権限、またはファイルの読み取り権限が必要で、権限を申請しましたが、ユーザーが拒否しました.対応する操作としてその権限があるかどうかをチェックし、ない場合はプロンプトウィンドウをポップアップして、ユーザーに設定させます.
質問:対応する権限があるかどうかを検出する方法
ソリューション:
質問:対応する権限があるかどうかを検出する方法
ソリューション:
// ,
//checkSelfPermission
// Context
//
PackageManager.PERMISSION_GRANTED//
PackageManager.PERMISSION_DENIED//
ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
例:// ,
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
) {
//
//shouldShowRequestPermissionRationale ,
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
showMsg(" ");
}
// , ,
// implementation 'com.lovedise:permissiongen:0.0.6'
PermissionGen.needPermission(mContext, Constants.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE,
new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,
}
);
} else {
//
}