Wyczyść listę pobrań Androida
Próbuję zrobić aplikację, która będzie czyściła moje urządzenie, między innymi chciałbym, aby usunęła wszystkie pliki znajdujące się w moimDownload
reż. Używam takiej metody do usuwania plików:
private static void deleteFiles(File path) {
Util.Log("deleting all files underneath " + path.getName());
if( path.exists() && path.isDirectory() ) {
File[] files = path.listFiles();
for(int i=0; i<files.length; i++) {
if(files[i].isDirectory()) {
Util.Log(files[i].getName() + " is a dir, being recursive.");
deleteFiles(files[i]);
}else {
Util.Log(files[i].getName() + " is a file, deleting it.");
files[i].delete();
}
}
}
}
To właściwie usuwa pliki (zweryfikowałem z menedżerem plików i podłącziłem do komputera). Ale jeśli otworzę aplikację „Pobrane” na moim urządzeniu, wszystkie pliki będą tam nadal wyświetlane. Kiedy klikam na jeden z nich, pojawia się okienko z komunikatem „Nie znaleziono pobranego pliku. [Spróbuj ponownie] [Usuń]. Ponowne naciśnięcie spróbuje ponownie pobrać plik, naciśnięcie Delete spowoduje usunięcie wpisu z listy. jest jakaś transmisja lub coś, co mogę użyć, aby powiedzieć tej aplikacji do pobrania, że chcę „odświeżyć” lub „zsynchronizować” z bieżącym systemem plików, tak aby rozpoznał, że pliki zostały usunięte.
Podobna sytuacja występuje podczas usuwania obrazów zDCIM
reż., po usunięciu nadal będą się pojawiać w aplikacji „Galeria”. Udało mi się wyemitować cel MEDIA_MOUNTED, który spowodował, że aplikacja Galeria „odświeżyła” bieżące pliki (które następnie prawidłowo usunęły obrazy z aplikacji Galeria). Wydaje się jednak, że MEDIA_MOUNTED nie wpływa na aplikację Pobieranie.
Czy jest coś takiego, co mogę zrobić, aby powiedzieć aplikacji Pobrane pliki, aby odświeżyło listę w oparciu o pliki aktualnie obecne (lub nieobecne) w/sdcard/Download/
reż?