Удалить файл во внутренней памяти с устройства Android? - PullRequest
2 голосов
/ 06 октября 2011

Я пытаюсь удалить файл, хранящийся во внутренней памяти. Файл действительно удаляется с помощью

activity.deleteFile(filename);

но только в эмуляторе. На реальном устройстве метод всегда возвращает false. Когда я пытаюсь получить доступ к файлу из оболочки adb, отображается запрет доступа. Итак, я полагаю, что проблема связана с удалением файлов из внутренней памяти.

Может кто-нибудь сообщить мне, как на самом деле удалить файл из внутренней памяти в Android?

Ответы [ 4 ]

4 голосов
/ 06 октября 2011

Если вы говорите только о каком-либо файле в файловой системе ... Это не работает?

if (new File("fileUrl").delete()) {
  // Deleted
} else {
  // Not deleted
}
4 голосов
/ 06 октября 2011

Из-за ограничений безопасности вы можете удалять только файлы, созданные вашим приложением.Вы также не можете удалять файлы, входящие в пакет вашего приложения (apk), т.е. файлы в /res, /assets и т. Д.

3 голосов
/ 05 июня 2013

Здесь FileName - это имя файла, который вы хотите удалить, без разделителя пути. Это означает, что FileName не должен содержать разделитель пути, такой как "/".И файл должен быть создан вашим приложением.Моя проблема была решена с помощью этого кода ..

if(getApplicationContext().deleteFile(FileName)) { Toast.makeText(getApplicationContext(),"File Deleted",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(),"Not Deleted",Toast.LENGTH_SHORT).show(); }

0 голосов
/ 08 мая 2012

Вы должны использовать:

_context.openFileOutput(fileName, Context.MODE_WORLD_READABLE);

при записи файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...