Я создаю файл для отправки в виде вложения к электронному письму. Теперь я хочу удалить изображение после отправки электронного письма. Есть ли способ удалить файл?
Я пробовал, myFile.delete();
но не удалил файл.
Я использую этот код для Android, поэтому языком программирования является Java, использующий обычные способы Android для доступа к SD-карте. Я удаляю файл в onActivityResult
методе, когда Intent
он возвращается на экран после отправки электронного письма.
android
android-sdcard
mudit
источник
источник
Ответы:
где selectedFilePath - это путь к файлу, который вы хотите удалить, например:
источник
Также вы должны дать разрешение, если вы используете> 1.6 SDK
в
AndroidManifest.xml
файлеисточник
ContentResolver
Смена для Android 4.4+
Приложения являются не разрешается для записи (удаление, изменение ...) для внешнего хранения , за исключением их пакет специфических каталогов.
Как указано в документации Android:
Однако существует неприятный обходной путь (см. Код ниже) . Проверено на Samsung Galaxy S4, но это исправление работает не на всех устройствах. Также я бы не стал рассчитывать, что это обходное решение будет доступно в будущих версиях Android.
Есть отличная статья, объясняющая изменение разрешений внешнего хранилища (4.4+) .
Вы можете узнать больше об обходном пути здесь . Исходный код обходного пути взят с этого сайта .
источник
false
и не удаляет файл :-(Android Context имеет следующий метод:
Я считаю, что это будет делать то, что вы хотите, с правильными разрешениями приложения, как указано выше.
источник
context.deleteFile(filename);
Рекурсивно удалить все дочерние элементы файла ...
источник
Это работает для меня: (Удалить изображение из галереи)
источник
Этот код поможет вам .. И в Android Manifest вы должны получить разрешение на внесение изменений.
источник
file.exists:true file.isDirectory:true file.canRead:false file.canWrite:false
Попробуй это.
из Apache Commons
источник
Извините: в моем коде раньше была ошибка из-за проверки сайта.
Думаю, ясно ... Сначала вы должны знать, где находится ваш файл. Во-вторых,
Environment.getExternalStorageDirectory()
это метод, который получает каталог вашего приложения. Наконец, класс File, который обрабатывает ваш файл ...источник
У меня была аналогичная проблема с приложением, работающим на 4.4. То, что я сделал, было своего рода взломом.
Я переименовал файлы и проигнорировал их в своем приложении.
то есть.
источник
Это сработало для меня.
источник
источник
Вы можете удалить файл следующим образом:
источник
Или попробуйте это:
источник