Обмен файлами ПК ‹--› Android через USB Проблемы с MTP

В моем приложении для Android я создаю файл и записываю в него тестовый текст:

File externalPath = getExternalFilesDir(null);
File importPath = new File(externalPath, "pd-import");
if(!importPath.exists()) {
    Log.d(this.getClass().getSimpleName(), "Create import dir: " + importPath.getAbsolutePath());
    importPath.mkdirs();
}

File readme = new File(importPath, "README.txt");
try {
    FileWriter fw = new FileWriter(readme);
    fw.write("This is a test");
    fw.flush();
    fw.close();
} catch (IOException e) {
    e.printStackTrace();
}

Это записывает файл, который можно утвердить с помощью файлового браузера Android, такого как Диспетчер файлов B1. Он записан в HOME/Android/data/JAVA_PACKAGE_NAME/files/pd-import/README.txt Снимок экрана с папкой

Logcat показывает мне: D/MainActivity﹕ Создать каталог импорта: /storage/emulated/0/Android/data/JAVA_PACKAGE_NAME/files/pd-import

Когда я подключаю свой Nexus, где я тестировал код, к моему ноутбуку с Ubuntu через USB, я вижу каталоги данных всех других приложений, таких как " означает: внутренняя память). Но папка не указана для моего приложения, которого нет в списке.

Скриншот без папки

Нужно ли мне устанавливать какие-то дополнительные медатданные/информацию/что угодно, чтобы папка отображалась в списке через соединение MTP? Любые предложения?


person andreas    schedule 14.01.2015    source источник


Ответы (1)


Появляется ли каталог при перезагрузке устройства? Если да, я думаю, что причиной является эта ошибка: https://code.google.com/p/android/issues/detail?id=38282

Все телефоны, использующие MTP вместо USB Mass Storage, неправильно отображают список файлов, когда этот телефон подключен к компьютеру с помощью USB-кабеля. Приложения Android, работающие на устройстве, также не могут видеть эти файлы.

Это влияет на файлы, написанные с использованием Java API, но не влияет на файлы, написанные с использованием C API.

Решение - перезагрузить устройство.

Кажется, это не решено.

person ToYonos    schedule 22.01.2015
comment
@andreas Я не уверен в этом, но я не думаю, что проверка с помощью файлового браузера ddms поможет изучить устройство Nexus из-за проблем с безопасностью, если вы не используете эмулятор. Но это обязательно будет видно с установленным на вашем телефоне приложением для просмотра файлов. Поправьте меня, если я ошибаюсь или пропустил какие-либо пункты. - person Detoxic Spirit; 28.01.2015
comment
Привет, извините за мой поздний ответ! Я заболел и не смог проверить ваше предложение. Может завтра смогу. - person andreas; 28.01.2015