Нужны ли Permissions для создания файлов в Android

«Нужны ли Permissions для создания файлов в Android» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для создания файлов в внутреннем хранилище приложения (папки files или cache) разрешения не требуются. Приложение имеет полный доступ к своей приватной директории.

Для записи в внешнее хранилище (SD-карта или общие папки) начиная с Android 10 (API 29) разрешение WRITE_EXTERNAL_STORAGE не нужно, если файлы сохраняются в специфичные для приложения директории (getExternalFilesDir() или getExternalCacheDir()). Для доступа к общим папкам (например, Downloads, Pictures) на Android 10+ требуется MANAGE_EXTERNAL_STORAGE (но Google Play может его ограничивать).

Пример записи во внутреннее хранилище:

val file = File(context.filesDir, "example.txt")
file.writeText("Hello, Android!")

Для Android 6.0+ (если нужен доступ к общему хранилищу) запрашивайте разрешение в AndroidManifest.xml и динамически:

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