使用 android 删除图像文件的错误

Bug from delete image file using android

我使用通用图像加载器方法创建了一个自定义图库应用程序

现在,我从图库中挑选一张图片并将其移动到我的应用程序文件夹中。我正在从 Gallery.The 问题中删除特定的选定图像,现在问题是即使删除图像后,该图像在图库中仍然可见,并且闪烁显示同一文件中的 0.0 KB 内存 name.How 以清除错误

请帮我解决这个问题。

注:

我已将图像从源路径移动到目标路径。我的目的地收到了特定的图像。

然后当我最终从源部分删除图像时,图像仍然可见,例如相同的文件名:IMG_20151106_193.jpg 内存大小 0.0kB

代码行:

  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    try {
        if (resultCode == RESULT_OK) {

            ArrayList<String> result = data.getStringArrayListExtra(Gallery_picker.KEY_ARRAYLIST_SELECTED_PHOTOS);
            mSelectedPhotos.clear();
            if (result == null) {
                return;
            }

            Iterator<String> iterator = result.iterator();
            while (iterator.hasNext())
            {
                String path = (String) iterator.next();
                if (!mSelectedPhotos.contains(path))
                {
                    mSelectedPhotos.add(path);
                }

            }

            String[] mStringArray = new String[mSelectedPhotos.size()];
            mStringArray = mSelectedPhotos.toArray(mStringArray);
            for(int i = 0; i <mStringArray.length ; i++)
            {

                String path=""+ (String)mStringArray[i];//it contain your path of image..im using a temp string..
                String filename=path.substring(path.lastIndexOf("/")+1);

                /*** Move file in SD Card ***/
                try {
                    File extStore = Environment.getExternalStorageDirectory();
                    fis = new File(path);
                    File fos = new File(extStore +"/Myfoldername/"+Subfoldername+"/"+customsimagename+".jpg");
                    copyFile(fis, fos); // Copy
                    fis.delete();

                } catch (Exception e)
                {

                    // TODO Auto-generated catch block
                    e.printStackTrace();
       //     Toast.makeText(this, "Failed! = " + e.getMessage(),Toast.LENGTH_LONG).show();
                }

            }
        }
    } catch (Exception e) {

    }


}        

更改图片路径后,需要通知图库更新,所以需要发送广播来制作。 在 4.4 之前,你可以这样调用:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://"+Environment.getExternalStorageDirectory())));  

4.4 之后,试试这个:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file)));//the file is new image's path