Как в Android 13 прочитать текстовый файл с внешнего хранилища? [дубликат]Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как в Android 13 прочитать текстовый файл с внешнего хранилища? [дубликат]

Сообщение Anonymous »

В прошлом этот вопрос задавался много раз, но ответы, которые я нашел в Интернете, кажутся устаревшими со времен Android 13 (API 33). Я хочу, чтобы мое приложение могло читать существующий файл /storage/emulated/0/Download/README.txt.
Мое приложение получает следующее исключение во время выполнения:

Код: Выделить всё

java.nio.file.AccessDeniedException: /storage/emulated/0/Download/README.txt
Ниже мой код пытается прочитать файл:

Код: Выделить всё

        File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File textFile = new File(dir, "README.txt");

String fileContents = "";
try{
fileContents = new String(Files.readAllBytes(textFile.toPath()));
}
catch (IOException e)
{
e.printStackTrace();
}
В моем AndroidManifest.xml есть следующая строка, но, согласно ссылке Google, она не имеет никакого эффекта начиная с Android 13. Я все равно добавил следующий код в onCreate() перед чтением файла, и он не запрашивает разрешение при запуске.

Код: Выделить всё

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
REQUEST_READ_FILE);
}
Какие у меня есть возможности сейчас просто прочитать текстовый файл из файловой системы?

Подробнее здесь: https://stackoverflow.com/questions/788 ... al-storage
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»