FilePicker显示已删除的图像

时间:2019-12-02 09:00:32

标签: android

我正在使用以下文件选择器库: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())));
        }
    }

0 个答案:

没有答案