Как получить доступ к файлу в папке с документами? - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь получить доступ к файлу из папки документов, но он всегда выдает исключение. Какой правильный код для этого пути? Я использую Samsung SM-G950F Android 8.0.0

File file = new File(Environment.getExternalStorageDirectory() + "/sdcard/Documents/asd.txt");

java.io.FileNotFoundException: /storage/emulated/0/sdcard/Documents/asd.txt (Нет такого файла или каталога)

File file = new File("/sdcard/Documents/asd.txt");

java.io.FileNotFoundException: /sdcard/Documents/asd.txt (В доступе отказано)

Я получаю разрешение, здесь отказано, и у меня есть эти разрешения в моем файле манифеста:

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

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Объект File будет создан с помощью:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "asd.txt");

И, , как указывает Игорь , вам потребуется запросить разрешения времени выполнения для READ_EXTERNAL_STORAGE.

0 голосов
/ 11 ноября 2018

Начиная с Android 6.0 вы должны запросить разрешения https://developer.android.com/guide/topics/permissions/overview.

...