Estoy creando un archivo para enviar como archivo adjunto a un correo electrónico. Ahora quiero eliminar la imagen después de enviar el correo electrónico. ¿Hay alguna forma de eliminar el archivo?
Lo intenté myFile.delete();
pero no eliminó el archivo.
Estoy usando este código para Android, por lo que el lenguaje de programación es Java usando las formas habituales de Android para acceder a la tarjeta SD. Estoy borrando el archivo en el onActivityResult
método, cuando Intent
se devuelve a la pantalla después de enviar un correo electrónico.
android
android-sdcard
mudit
fuente
fuente
Respuestas:
donde selectedFilePath es la ruta del archivo que desea eliminar, por ejemplo:
fuente
También debe dar permiso si está utilizando> 1.6 SDK
en
AndroidManifest.xml
archivofuente
ContentResolver
Cambiar para Android 4.4+
Las aplicaciones se no se les permite a escribir (borrar, modificar ...) al exterior de almacenamiento , excepto a sus paquetes específicos de directorios.
Como dice la documentación de Android:
Sin embargo, existe una solución desagradable (ver el código a continuación) . Probado en Samsung Galaxy S4, pero esta solución no funciona en todos los dispositivos. Además , no contaría con que esta solución esté disponible en futuras versiones de Android.
Hay un gran artículo que explica el cambio de permisos de almacenamiento externo (4.4+) .
Puede leer más sobre la solución aquí . El código fuente de la solución es de este sitio .
fuente
false
y no elimina el archivo :-(El contexto de Android tiene el siguiente método:
Creo que esto hará lo que desee con los permisos de aplicación correctos como se enumeran anteriormente.
fuente
context.deleteFile(filename);
Elimina recursivamente todos los elementos secundarios del archivo ...
fuente
Esto funciona para mí: (Eliminar imagen de la galería)
fuente
Este código lo ayudará ... Y en el Manifiesto de Android, debe obtener permiso para realizar modificaciones.
fuente
file.exists:true file.isDirectory:true file.canRead:false file.canWrite:false
Prueba esto.
de Apache Commons
fuente
Lo sentimos: hay un error en mi código antes debido a la validación del sitio.
Creo que está claro ... Primero debes saber la ubicación de tu archivo. Segundo ,,,
Environment.getExternalStorageDirectory()
es un método que obtiene su directorio de aplicaciones. Por último, el archivo de clase que maneja su archivo ...fuente
Tuve un problema similar con una aplicación que se ejecuta en 4.4. Lo que hice fue una especie de truco.
Cambié el nombre de los archivos y los ignoré en mi aplicación.
es decir.
fuente
Esto funcionó para mí.
fuente
fuente
Puede eliminar un archivo de la siguiente manera:
fuente
O intente esto:
fuente