我正在使用以下文件选择器库:https://github.com/fishwjy/MultiType-FilePicker
我从内部存储中选择一个文件,然后将其上传到服务器并删除该文件,但是即使删除并扫描了文件选择程序,该文件选择器仍然显示从图库中删除的文件,选择此文件将返回File Not Found异常,因为已删除。如何清除FilePicker库的缓存,以使其不能在其文件浏览器中显示已删除的文件。
我正在使用以下代码删除文件:
public void deleteImage(String file_name_remote_abs) {
Log.d("LOG", "zzz_deleteImage: "+file_name_remote_abs);
File fdelete = new File(file_name_remote_abs);
if (fdelete.exists()) {
if (fdelete.delete()) {
Log.d("LOG", "zzz_file Deleted :" + file_name_remote_abs);
callBroadCast();
} else {
Log.d("LOG", "zzz_file not Deleted :" + file_name_remote_abs);
}
}
}
public void callBroadCast() {
if (Build.VERSION.SDK_INT >= 14) {
Log.d("LOG", " >= 14");
MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory().toString()}, null, new MediaScannerConnection.OnScanCompletedListener() {
/*
* (non-Javadoc)
* @see android.media.MediaScannerConnection.OnScanCompletedListener#onScanCompleted(java.lang.String, android.net.Uri)
*/
public void onScanCompleted(String path, Uri uri) {
Log.d("ExternalStorage", "Scanned " + path + ":");
Log.d("ExternalStorage", "-> uri=" + uri);
}
});
} else {
Log.d("-->", " < 14");
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
}
}