使用“共享意图”后删除图像

时间:2015-10-31 07:42:53

标签: android android-intent

您好我是Android编程的新手。

我制作了一款可以在各种应用上分享图片的应用。一切正常,但共享图像后,图像将保存在手机中。图像保存在不同设备的不同文件夹中。

我希望在共享图像后删除图像。

任何帮助将不胜感激

下面是分享按钮的onClick。

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            ImageView Imgv = (ImageView)viewPager.findViewWithTag(viewPager.getCurrentItem());
            Drawable mDrawable = Imgv.getDrawable();
            Bitmap mBitmap = ((BitmapDrawable)mDrawable).getBitmap();

            String path = Images.Media.insertImage(getContentResolver(), 
                mBitmap, "Image Description", null);

            Uri uri = Uri.parse(path);      

                // Construct a ShareIntent with link to image
                Intent shareIntent = new Intent();
                shareIntent.setAction(Intent.ACTION_SEND);

                shareIntent.putExtra(Intent.EXTRA_STREAM, uri);                 
                shareIntent.setType("image/*");
                // Launch sharing dialog for image
                startActivity(Intent.createChooser(shareIntent, "Share sticker via"));  

        }
    });

2 个答案:

答案 0 :(得分:0)

这对我有用,请尝试这种方式删除图片

File fdlt = new File(file_path);
    if (fdlt .exists()) {
        if (fdlt .delete()) {
            System.out.println("File Deleted :" + file_path);
        } else {
            System.out.println("File not Deleted :" + file_path);
        }
    }

答案 1 :(得分:0)

运行Asynctask,等待一段时间,然后它将删除图像, 当您在共享该图片后访问您的应用程序时执行此Asynctask。

对于此用途

startActivityForResult(Intent,int)

和覆盖

OnActivityResult 

并检查您是否从使用特定请求代码共享图像返回,然后执行asynctask。 它会在一段时间后删除图像,或者您也可以在OnActivityResult上立即删除图像。 希望它有所帮助。