Не удается найти Symbol Manifest.permission.WRITE_EXTERNAL_STORAGE на v23

Я компилирую код со следующим файлом 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

как показано ниже.

введите описание изображения здесь

Но я получаю следующую ошибку:

Не удается найти символ Manifest.permission.WRITE_EXTERNAL_STORAGE

Я поставил sdkVersion на 23, но почему я все еще получаю эту ошибку

Ответы

Ответ 1

Наконец, я обнаружил, что файл Menifest автогенерируется Android Studio

В AndroideMenifest я написал следующий код для ParsePushNotification

 <!--
      IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
      to match your app 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

Ответ 2

Только писать Android перед классом манифеста

Manifest.permission.WRITE_CALENDAR

to

android.Manifest.permission.WRITE_CALENDAR

Ответ 3

Я думаю, вы можете использовать Manifest класс от android в android.Manifest.permission или android.Manifest.permission_group. Для получения подробных разрешений вы можете прочитать это Manifest.permission, см. Это

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
    android.Manifest.permission.WRITE_CALENDAR);

Ответ 4

Прочтите эту статью, пожалуйста.

Поскольку система разрешений переработана, есть некоторые разрешения, которые требуют доступа для отзыва, а некоторые другие - нет. Конкретное разрешение, которое вы запрашиваете, находится в группе, которая называется 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);

Ответ 5

решение этой проблемы простое. Просто добавьте слово "андроид" перед словом "манифест".

android.Manifest.permission.WRITE_CALENDAR