Я пытаюсь прочитать файл с SD-карты, но обнаружил, что у меня нет прав на чтение.
Сначала я получаю каталог общего хранилища и перечисляю файлы примерно так:
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File[] files = dir.listFiles();
Затем я выбираю один из файлов и проверяю, доступен ли он для чтения:
Log.d(TAG, files[0].canRead());
Это всегда показывает false, и я не уверен почему. Я могу записать в каталог (на самом деле это файл, который я написал и хочу прочитать), и я попробовал варианты
files[0].setReadable(true);
и
dir.setReadable(true);
без удачи. У меня также есть
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
включен в мой файл манифеста и убедился, что мое устройство не подключено ни к чему (как предложено здесь ), но это не так.
Я могу вытащить файл с устройства и прочитать его в текстовом редакторе. Любые идеи относительно того, что это может быть?
Статистика: использование API 12 на планшете Samsung Galaxy.