私は次のbuild.gradleファイルでコードをコンパイルしています
Android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
SDCARDへの保存写真にアクセスするために、V23のアクセス許可ダイアログボックスを開きました。
以下のスクリーンショットのような
しかし、次のエラーが発生しています
Symbol Manifest.permission.WRITE_EXTERNAL_STORAGEが見つかりません
SdkVersionを23に設定しましたが、なぜこのエラーが表示されるのですか
最後に、メニフェストファイルはAndroid Studioによって自動生成されることがわかりました
AndroideMenifestでは、ParsePushNotification用の次のコードを書きました
<!--
IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
to match your app's package name + ".permission.C2D_MESSAGE".
-->
<permission Android:protectionLevel="signature"
Android:name="com.example.permission.C2D_MESSAGE" />
<uses-permission Android:name="com.example.permission.C2D_MESSAGE" />
以下のメニフェストファイルが生成されます
だから私が以下のコードを書いたとき、それは動作します
Android.Manifest.permission.WRITE_EXTERNAL_STORAGE
の代わりに
Manifest.permission.WRITE_EXTERNAL_STORAGE
マニフェストクラスの前にAndroidのみを記述します。変更:
Manifest.permission.WRITE_CALENDAR
に:
Android.Manifest.permission.WRITE_CALENDAR
マニフェストクラスは、Androidから使用できます。詳細な許可タイプについては、こちらから読み取ることができます Manifest.permission 、これを見て
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Android.Manifest.permission.WRITE_CALENDAR);
この問題の解決策は簡単です。Word「manifest」の前にWord「Android」を追加するだけです。
Android.Manifest.permission.WRITE_CALENDAR
この記事 をお読みください。
許可システムが再設計されたため、アクセスを取り消すために必要なアクセス許可とそうでないアクセス許可があります。要求する特定の許可は、Android.permission-group.STORAGE
というグループにあります。これをチェックしてください。
これを試してください:
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE};
ActivityCompat.requestPermissions(mActivity, PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE);