2015-12-09 2 views
2

Приложение для Android генерирует некоторые данные и записывает их в текстовый файл. Приложение добавляет новую информацию в этот файл, создавая новую информацию.Обновить текстовый файл, сканированный Media Scanner

Мне нужно повторно загрузить этот файл из формы ПК время от времени. Однако, как только я сканирую файл, а затем модифицирую его, я не вижу этого изменения с ПК.

Я попытался сканирование/повторное сканирование файлов с использованием как MediaScannerConnection.scanFile() и sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(textFile)));

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

Как я могу выполнить повторное сканирование/обновление этого файла без его удаления и воссоздания?

ответ

0

Попробуйте уведомит данные после изменения файла:

private static void notifyData(Context context, URI fileUri) throws URISyntaxException { 
     Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
     File f = new File(fileUri); 
     Uri contentUri = Uri.fromFile(f); 
     mediaScanIntent.setData(contentUri); 
     context.sendBroadcast(mediaScanIntent); 
    } 

удачи.

+1

Как это отличается от того, что я уже делаю? Это работает только для первого сканирования и не выполняет повторное сканирование файла. – Onur