Saya mencoba menghapus gambar yang disimpan di penyimpanan internal. Saya telah menemukan ini sejauh ini:
File dir = getFilesDir();
File file = new File(dir, id+".jpg");
boolean deleted = file.delete();
Dan ini dari pertanyaan lain, yang dijawab dengan :
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
Contoh saya selalu mengembalikan nilai salah. Saya bisa melihat file fx 2930.jpg
di DDMS di eclipse.
inputHandle.getImgPath(id)
adalah filepathSudahkah Anda mencoba Context.deleteFile () ?
sumber
new OutputStreamWriter(context.openFileOutput(fileName, Context.MODE_PRIVATE)).write(data);
Ini bekerja untuk saya:
sumber
Kode
File dir = getFilesDir();
tidak berfungsi karena ini adalah permintaan untuk objek File. Anda mencoba mengambil String yang mendeklarasikan jalur ke direktori Anda, jadi Anda perlu mendeklarasikan 'dir' sebagai String, lalu meminta agar jalur absolut direktori dalam bentuk String dikembalikan oleh konstruktor yang memiliki akses ke informasi tersebut. .sumber
Anda juga bisa menggunakan:
file.getCanonicalFile().delete();
sumber
Apakah Anda mencoba
getFilesDir().getAbsolutePath()
?Sepertinya Anda memperbaiki masalah Anda dengan menginisialisasi objek File dengan jalur lengkap. Saya yakin ini juga akan berhasil.
sumber
tidak berfungsi dalam kasus saya.
selalu mengembalikan nilai salah.
Masalah telah diselesaikan dengan menggunakan kode di bawah ini:
sumber
Ini adalah topik lama, tetapi saya akan menambahkan pengalaman saya, mungkin seseorang menganggap ini berguna
solusi1:
di sini saya menginisialisasi pemecah konten dan menghapusnya dengan parameter yang diteruskan dari URI itu
solution2 (solusi pertama saya-dari kepala saat ini saya tahu itu): resolver konten ada ...
Semoga ini bisa membantu seseorang yang senang coding
sumber