Próbuję usunąć obrazy zapisane w pamięci wewnętrznej. Do tej pory wymyśliłem to:
File dir = getFilesDir();
File file = new File(dir, id+".jpg");
boolean deleted = file.delete();
A to z innego pytania, na które odpowiedziano :
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
Mój przykład zawsze zwraca fałsz. Widzę plik fx 2930.jpg
w DDMS w eclipse.
inputHandle.getImgPath(id)
jest filePathCzy próbowałeś Context.deleteFile () ?
źródło
new OutputStreamWriter(context.openFileOutput(fileName, Context.MODE_PRIVATE)).write(data);
To działa dla mnie:
źródło
Kod
File dir = getFilesDir();
nie działa, ponieważ jest to żądanie dotyczące obiektu File. Próbujesz pobrać String, który deklaruje ścieżkę do twojego katalogu, więc musisz zadeklarować 'dir' jako String, a następnie zażądać, aby ścieżka bezwzględna katalogu w postaci String została zwrócona przez konstruktora, który ma dostęp do tych informacji .źródło
Możesz także użyć:
file.getCanonicalFile().delete();
źródło
Czy próbowałeś
getFilesDir().getAbsolutePath()
?Wygląda na to, że problem został rozwiązany poprzez zainicjowanie obiektu File z pełną ścieżką. Wierzę, że to też by załatwiło sprawę.
źródło
nie działa w moim przypadku.
zawsze zwraca fałsz.
Problem został rozwiązany za pomocą poniższego kodu:
źródło
To stary temat, ale dodam swoje doświadczenie, może komuś to pomoże
rozwiązanie1:
tutaj inicjalizuję program rozpoznawania treści i usuwam go z przekazanym parametrem tego URI
rozwiązanie2 (moje pierwsze rozwiązanie z głowy w tym czasie wiem, że): resolver treści istnieje ...
Mam nadzieję, że będzie to pomocne dla kogoś, kto będzie zadowolony z kodowania
źródło