无法在 Whatsapp 上分享图片

Not able to share an Image on Whatsap

我正在写一个分享图片的应用。 我写了代码但遇到了问题。 我在做什么 1:将图片暂时保存在Internal Storage 2:传URI分享图片

图像已成功保存到内部存储器,但无法在 whatsapp 上分享。 当我在 whatsapp 上分享它时,Whatsapp 打开,我 select 收件人,whatsapp 处理它并说 "Retry".

代码:

    public void shareImage(View V)
    {

        Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.download);
        Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("image/jpeg");
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
          icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

        File file =  new File(Environment.getExternalStorageDirectory()
            + File.separator + "myDownloadedImage.jpg");


     try
     {
      file.createNewFile();
      FileOutputStream fo = new FileOutputStream(file);
      fo.write(bytes.toByteArray());
      fo.close();
     } catch (IOException e) {         
      Toast.makeText(this, "Some error in Writing"+e.getMessage(), Toast.LENGTH_LONG).show();
          e.printStackTrace();
    }

   Uri downloadLocation=Uri.fromFile(file);
   share.putExtra(Intent.EXTRA_STREAM, downloadLocation);
   startActivity(Intent.createChooser(share, "Share Image"));

}

图像已成功保存到内部存储,但未在 whatsapp 上共享。

截图如下。可以看到图片没有分享成功

使用下面的代码获取图像并制作 uri:

                File file =  new File(Environment.getExternalStoragePublicDirectory(  
                    Environment.DIRECTORY_DOWNLOADS), "share_image_" + System.currentTimeMillis() + ".png");
                file.getParentFile().mkdirs();
                FileOutputStream out = new FileOutputStream(file);
                bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
                out.close();
                bmpUri = Uri.fromFile(file);

现在将 bmpUri 传入:

shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);

这应该会使您的图像共享。