Android-файл canRead () всегда ложен на SD-карте - PullRequest
5 голосов
/ 22 марта 2012

Я пытаюсь прочитать файл с 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.

...