Saya membuat file untuk dikirim sebagai lampiran email. Sekarang saya ingin menghapus gambar setelah mengirim email. Apakah ada cara untuk menghapus file?
Saya sudah mencoba myFile.delete();
tetapi tidak menghapus file.
Saya menggunakan kode ini untuk Android, jadi bahasa pemrograman Java menggunakan cara Android yang biasa untuk mengakses kartu SD. Saya menghapus file dalam onActivityResult
metode ini, ketika sebuah Intent
dikembalikan ke layar setelah mengirim email.
android
android-sdcard
mudit
sumber
sumber
Jawaban:
di mana selectedFilePath adalah jalur file yang ingin Anda hapus - misalnya:
sumber
Anda juga harus memberi izin jika Anda menggunakan> 1,6 SDK
dalam
AndroidManifest.xml
filesumber
ContentResolver
Ubah untuk Android 4.4+
Aplikasi tidak diperbolehkan untuk menulis (menghapus, memodifikasi ...) ke penyimpanan eksternal kecuali ke direktori khusus paket mereka .
Seperti yang dinyatakan oleh dokumentasi Android:
Namun ada solusi buruk (lihat kode di bawah) . Diuji pada Samsung Galaxy S4, tetapi perbaikan ini tidak bekerja pada semua perangkat. Juga saya tidak akan mengandalkan solusi yang tersedia di Android versi mendatang .
Ada artikel bagus yang menjelaskan (4.4+) perubahan izin penyimpanan eksternal .
Anda dapat membaca lebih lanjut tentang solusinya di sini . Kode sumber penyelesaian adalah dari situs ini .
sumber
false
dan tidak menghapus file :-(Android Context memiliki metode berikut:
Saya percaya ini akan melakukan apa yang Anda inginkan dengan premis App yang tepat seperti yang tercantum di atas.
sumber
context.deleteFile(filename);
Hapus semua anak file secara rekursif ...
sumber
Ini berfungsi untuk saya: (Hapus gambar dari Galeri)
sumber
Kode ini akan membantu Anda .. Dan dalam Manifes Android Anda harus mendapatkan Izin untuk membuat modifikasi ..
sumber
file.exists:true file.isDirectory:true file.canRead:false file.canWrite:false
Coba ini.
dari Apache Commons
sumber
Maaf: Ada kesalahan dalam kode saya sebelumnya karena validasi situs.
Saya pikir sudah jelas ... Pertama, Anda harus tahu lokasi file Anda. Kedua ,,,
Environment.getExternalStorageDirectory()
adalah metode yang mendapatkan direktori aplikasi Anda. Terakhir File kelas yang menangani file Anda ...sumber
Saya memiliki masalah serupa dengan aplikasi yang berjalan pada 4.4. Apa yang saya lakukan adalah semacam peretasan.
Saya mengganti nama file dan mengabaikannya di aplikasi saya.
yaitu.
sumber
Ini berhasil untuk saya.
sumber
sumber
Anda dapat menghapus file sebagai berikut:
sumber
Atau, Coba Ini:
sumber