Удаление файла из внутреннего хранилища

Я пытаюсь удалить изображения, хранящиеся во внутреннем хранилище. Я придумал это до сих пор:

File dir = getFilesDir(); File file = new File(dir, id+".jpg"); boolean deleted = file.delete(); 

И это из другого вопроса, на который был дан ответ :

 File dir = getFilesDir(); File file = new File(dir, "my_filename"); boolean deleted = file.delete(); 

Мой пример всегда возвращает false. Я вижу файл fx 2930.jpg в DDMS в eclipse.

Solutions Collecting From Web of "Удаление файла из внутреннего хранилища"

getFilesDir() как-то не работает. Используя метод, который возвращает весь путь и имя файла, дал желаемый результат. Вот код:

 File file = new File(ih.getImgPath(id)); boolean deleted = file.delete(); 

Вы пробовали Context.deleteFile () ?

Это работает для меня:

 File file = new File(photoPath); file.delete(); context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(photoPath)))); 
 String dir = getFilesDir().getAbsolutePath(); File f0 = new File(dir, "myFile"); boolean d0 = f0.delete(); Log.w("Delete Check", "File deleted: " + dir + "/myFile " + d0); 

Код File dir = getFilesDir(); Не работает, потому что это запрос для объекта File. Вы пытаетесь получить строку, объявляющую путь к вашему каталогу, поэтому вам нужно объявить «dir» как String, а затем запросить, чтобы абсолютный путь каталога в форме String возвращался конструктором, который имеет доступ к этой информации ,

Вы также можете использовать: file.getCanonicalFile().delete();

Вы пытались getFilesDir().getAbsolutePath() ?

Кажется, вы исправили свою проблему, инициализируя объект File полным путем. Я считаю, что это тоже поможет.