[解決済み] Call requires API level 23 (current min is 14): android.app.Activity#requestPermissions,checkSelfPermission [duplicate].
2022-02-19 08:30:04
質問
<余談
この質問には、すでにここで回答があります
:
クローズド
5年前
.
私はランタイムパーミッションを追加しようとしているアンドロイド(6.0.1)API 23、私はSDKのバージョンを使用する場合(6.0.1)。 minとtargetの両バージョンとも23 のような感じでうまくいきます。
<uses-sdk
android:minSdkVersion="23"
android:targetSdkVersion="23" />
android:minSdkVersion (less than 23)を変更した場合。
例えば、こんな感じです。
以下のようなエラーが発生します。
呼び出しにはAPIレベル23が必要です(現在の最小値は14)。 android.app.Activity#requestPermissions,checkSelfPermission。
以下の2つの方式について。
1)requestPermissions(permissionsList.toArray(new String[permissionsList.size()]),REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS)
2)checkSelfPermission(permission)
を試してみました。
ActivityCompat.checkSelfPermission()
と
ContextCompat.checkSelfPermission()
が両方使えない。
何が足りないのか、理解できなかった。
どのように解決するのですか?
target >=23をチェックするか、以下の行をメソッドの上に追加してください。
@TargetApi(Build.VERSION_CODES.M)
例えば、ストレージのアクセス権をチェックするのであれば、この機能を参照することができます。
@TargetApi(Build.VERSION_CODES.M)
public boolean CheckStoragePermission() {
int permissionCheckRead = ContextCompat.checkSelfPermission(context,
Manifest.permission.READ_EXTERNAL_STORAGE);
if (permissionCheckRead != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context,
Manifest.permission.READ_EXTERNAL_STORAGE)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
ActivityCompat.requestPermissions((Activity) context,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
Define.PERMISSION_STORAGE);
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions((Activity) context,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
Define.PERMISSION_STORAGE);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
return false;
} else
return true;
}
関連
-
[解決済み】インストールエラー。インストールエラー:install_failed_older_sdk
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み] [Solved] Error "File google-services.json is missing from module root folder. これがないとGoogle Services Pluginは機能しません" [重複]。
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] android.intent.action.MAINの意味は何ですか?
-
[解決済み] setBackgroundDrawable() 非推奨
-
[解決済み】setBackgroundとsetBackgroundDrawableの比較 (Android)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】react-native: コマンドが見つかりません。
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】SDKの場所がandroid studioで見つからない。
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] コンパイルした.apkを端末にインストールしようとするとINSTALL_FAILED_UPDATE_INCOMPATIBLEが表示される
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] android.intent.action.MAINの意味は何ですか?