Файлы для передачи файлов с Android на Windows USB отсутствуют - PullRequest
0 голосов
/ 23 октября 2018

Я недавно создал приложение, которое записывает данные во внешнее хранилище (то есть myFilePath = Environment.getExternamStorageDirectory (). ToString () + "mypath / thisCollectionsFolder / myfile.data").Когда я ищу файл через Airdroid или ES File Explorer, я могу найти его после завершения записи.Однако, если я подключаю телефон к ПК с Windows через USB и перехожу на mypath, я не могу некоторое время видеть «thisCollectionsFolder» в проводнике.Если я позволю телефону «отдохнуть» на некоторое время, я смогу увидеть «thisCollectionFolder».Иногда «myfile.data» отображается в «thisCollectionFolder», иногда мне нужно дать телефону немного отдохнуть, прежде чем я смог его увидеть.

Я наблюдал такое поведение на Nexus6p и Pixel 2 под управлением Android 8 на двух разных компьютерах с Windows.Я попытался перезагрузить телефоны после записи файлов, но это не делает это видимым в проводнике.Обратите внимание, что мое приложение написано с использованием Xamarin, и я использую классы dotnet System.IO для написания.

У меня следующие вопросы

  • Это известная проблема?
  • Что я могу сделать в своем приложении, чтобы файлы были видны сразу после их записи?

Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018
  1. Когда устройство Android подключается к компьютеру, ПК не считывает данные файла диска устройства.Он сопоставляется через службу MTP.
  2. Отображение источника данных поставщика Android в базе данных мультимедиа: com.android.provider.media/databases/external.db. В этой базе данных имеетсятаблица файлов.В этой таблице все записи будут сопоставлены службой MTP с файловым менеджером ПК.

  3. Между тем, изменения, которые мы сделали на ПК, были также внесены в таблицу файлов всначала сервер, а затем будет запущена работа системы на диске.

Таким образом, вы можете указать путь к файлу, который затем сканируется системой и затем синхронизируется с ПК после записи данных во внешнее хранилище. Использование метода MediaScannerConnection,Xamarin.Android имеет соответствующий метод.Для более подробной информации вы можете обратиться здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...