Проблемы с внешним хранилищем данных Android

Я пытаюсь сохранить данные на SD-карте, согласно руководству здесь Я должен использовать getExternalFilesDir () (уровень API 8), я бы очень хотел это сделать, но вызов
File directory = context.getExternalFilesDir (null); продолжает возвращать null , я использую свое основное действие в качестве контекста.
Затем я попытался вернуться к использованию File dir = Environment.getExternalStorageDirectory (); , он правильно возвращает корень SD, но, видимо, я не могу создать предлагаемый каталог «/ Android / data / package_name / files /» :

    File root = Environment.getExternalStorageDirectory();
    File dir = new File(root, GlobalConstants.EXTERNAL_SAVE_DIR);
    boolean canCreate = dir.mkdirs();

В этом коде canCreate ложно (EXTERNAL_SAVE_DIR, очевидно, /Android/data/package_name/files/).

Есть что-то, чего мне не хватает, может быть, мне спросить разрешения на манифест (Ничего не нашел)? Я читал getExternalFilesDir () содержит ошибку, при которой содержимое удаляется при обновлении приложения, меня это не волнует, и я бы предпочел использовать его вместо другого, поскольку я пытаюсь соответствовать к API 8, и мне нравится идея, что он обрабатывает имя каталога за меня. Боковое фото 1: Я даже ничего не загружаю.

19
задан ROMANIA_engineer 30 July 2017 в 23:04
поделиться