#android #windows #file #explorer
#Android #Windows #файл #проводник
Вопрос:
Мое приложение опрашивает каталог на SD-карте на предмет появления новых файлов, которые были сброшены туда пользователем из проводника Windows через USB-соединение. Когда появляется новый файл, мое приложение обрабатывает его, а затем удаляет, однако файл по-прежнему отображается в проводнике Windows. Я знаю, что файл исчез, потому что он больше не отображается в проводнике файлов DDMS, и мой опросник больше не запускается. Будем признательны за любую информацию о том, как Android взаимодействует с Windows file Explorer. Я попытался поиграть с MediaScannerConnectionClient, который помогает отображать программно созданные каталоги, но ничего не делает для исчезновения файлов.
Я использую Android 3.2 на Acer Iconia A500. Мой компьютер работает под управлением Windows XP. Файлы представляют собой файлы .csv и .txt. Я использую File.delete () для их удаления.
Спасибо.
Ответ №1:
Это старая проблема, но приведенные выше ответы мне не очень помогли, поэтому я попробовал некоторые другие вещи, и у меня сработало следующее. Просто вызовите scanFile
метод MediaScannerConnection
для удаляемого файла после его удаления:
File file = new File("...");
String absolutePathToFile = file.getAbsolutePath();
file.delete();
MediaScannerConnection.scanFile(context, new String[]{absolutePathToFile}, null, null);
Я предполагаю, что сканер сканирует местоположение файла, не находит файл и обновляет индекс файла ОС или что-то еще, что делает файлы видимыми для проводника.
Ответ №2:
Android, будучи ОС на базе Linux, удалит файл только тогда, когда будет закрыт последний дескриптор файла для него. Имя файла может исчезнуть раньше, хотя.
В Windows наличие дескриптора открытого файла означает, что имя файла все еще существует. Таким образом, Windows просто не ожидает, что файл исчезнет, как это происходит.
Ответ №3:
Если файлы исчезли при обновлении, это может быть просто потому, что Windows не ожидает, что каталог под ним изменится, и поэтому не проверяет наличие изменений.
Комментарии:
1. Если я обновлю, удаленные файлы все еще отображаются. Если я отключу USB, обновлю Windows Explorer, а затем снова подключу USB, файлы все еще будут там. Однако, если я мягко перезагружаю устройство, файлы исчезают. Это заставляет меня думать, что проблема на стороне Android.