Ответ 1
getFilesDir()
как-то не сработал.
Используя метод, который возвращает весь путь и имя файла, дал желаемый результат. Вот код:
File file = new File(ih.getImgPath(id));
boolean deleted = file.delete();
Я пытаюсь удалить изображения, хранящиеся во внутреннем хранилище. Я придумал это до сих пор:
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.
getFilesDir()
как-то не сработал.
Используя метод, который возвращает весь путь и имя файла, дал желаемый результат. Вот код:
File file = new File(ih.getImgPath(id));
boolean deleted = file.delete();
Вы пробовали Context.deleteFile()?
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 file = new File(photoPath);
file.delete();
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(photoPath))));
Вы также можете использовать: file.getCanonicalFile().delete();
Вы пробовали getFilesDir().getAbsolutePath()
?
Кажется, вы исправили свою проблему, инициализируя объект File полным путем. Я верю, что это тоже поможет.