Нужно ли явно объявлять разрешение WRITE_EXTERNAL_STORAGE на Android 4.1 и более ранних версиях?

Что касается WRITE_EXTERNAL_STORAGE, в документах Android говорится, что

Начиная с уровня API 19, это разрешение не требуется для чтения/записи файлов в каталогах вашего приложения, возвращаемых getExternalFilesDir(String) и getExternalCacheDir().

Мое приложение читает и записывает только в каталог Android/data//files. Означает ли это, что для чтения и записи в этот конкретный каталог всякий раз, когда мое приложение работает на версиях Android более ранних, чем 19, мне все равно нужно будет объявить это разрешение в манифесте?


person user642252    schedule 10.06.2017    source источник


Ответы (1)


Документ Android говорит здесь:

Начиная с Android 4.4, для чтения или записи файлов в личных каталогах вашего приложения не требуются разрешения READ_EXTERNAL_STORAGE или WRITE_EXTERNAL_STORAGE. Таким образом, вы можете объявить, что разрешение должно запрашиваться только в более низких версиях Android, добавив атрибут maxSdkVersion:

<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                     android:maxSdkVersion="18" />
    ...
</manifest>

Таким образом, ответ однозначно ДА.

person ugur    schedule 10.06.2017