Папка на телефоне не отображается в Windows

Я разрабатываю приложение для Android и использую свой Nexus 4 в качестве тестового устройства. Одной из функций приложения является создание папки на телефоне для хранения данных. Если я просматриваю телефон с помощью ES File Explorer, я вижу папку/файлы, но при подключении к ПК с Windows 7 (64-разрядная версия) я не вижу вновь созданную папку. Отсутствующая папка называется "Cruise Speed".

Скриншот рабочего стола:

рабочий стол_скриншот

Мобильный скриншот:

рабочий стол_скриншот

Это действительно любопытно! Моей первой мыслью была проблема с разрешениями, но, похоже, это не так. Разрешения, владелец и группа всех файлов соответствия, которые этого не делают. Просто чтобы другие знали, я смог воспроизвести поведение, просто создав файл/папку во внутренней памяти с помощью эмулятора терминала или файлового менеджера. Все, что я создавал на устройстве таким образом, было невидимо для MTP.
Что ж, я рад, что не только я. Я думал, что это может быть как-то связано с тем, как я установил путь сохранения файла, но явно не так.
Я знаю, что это долгий путь, но ... чтобы установить место сохранения файла, который я использовал android.os.Environment.getExternalStorageDirectory();, однако Windows называет это внутренним хранилищем . Кажется странным, что в одном случае он упоминается как Внешний, а в другом как Внутренний.
Я почти уверен, что несоответствие просто из-за того, как MTP обрабатывает вещи.
Был похожий случай уже на этой неделе. Затронутый пользователь сообщил, что после перезагрузки Windows папка была видна (из чего ясно, что это проблема на стороне Windows). Пробовали обновить в проводнике? Или проверяли другим файловым менеджером в винде (например Total Commander)? Я предполагаю, что это какое-то кэширование Windows.
Это может быть проблема с устройством Android. Иногда мне нужно сказать Media Scanner выполнить повторное сканирование, чтобы подобрать папки. Я использую Rescan SD Card! .
Это может быть проблемой, если вы создали папку, когда устройство было подключено к рабочему столу. Возможно, вам придется отключиться и снова подключиться, чтобы папка появилась в окнах, или изменить параметр с MTP на PTP, а затем вернуться, чтобы проверить, помогает ли это. У меня так было с Nexus5.

Ответы (4)

Это известная проблема, влияющая на доступ к файлам USB через MTP.
Я даже не могу вспомнить, сколько часов я потерял, пытаясь получить доступ к файлам, созданным моим первым приложением на ПК (и я говорю о гигабайтах важных файлов).
Если вы запускаете приложение и оно создает папку, вам необходимо перезагрузить устройство, чтобы ваш компьютер мог правильно отображать папку.
Это происходит только в том случае, если вы используете USB и MTP.
Вы можете решить проблему, используя MediaScannerConnection в своем коде или очистив кеш Media Storage, но я предлагаю вам сделать самое простое: использовать AirDroid;)

Просто комментарий к этому, на моем Samsung Galaxy Tab 3 даже перезагрузка не заставляет файл отображаться на компьютере.

У меня была такая же проблема, приложение Vuze создало папку на моем телефоне nexus 6. Эта папка была доступна/видна на моем телефоне, но не на ПК, когда телефон был подключен через USB. Я просто скопировал другой случайный файл на моем телефоне в эту папку, которая не была видна на ПК. После этой копии я смог увидеть папку на ПК.

Просто сначала создайте каталог на ПК, а затем скопируйте его на SD-карту / в память телефона.

вы можете сначала поместить содержимое в папку и скопировать или сначала только папку. пока папка создается на ПК, любое содержимое можно просто скопировать непосредственно на внутренние/внешние мобильные устройства.

для заархивированного содержимого их нельзя распаковать напрямую и скопировать, к сожалению, вам нужно сначала распаковать их вручную на рабочий стол.

удачи и хорошего дня! :)

В моем случае очистка кеша не помогла. Однако мне удалось получить доступ к скрытым папкам/файлам, переименовав родительскую папку. Не забудьте отключить телефон и снова подключить его после переименования родительской папки, если телефон подключен к ПК.