无法在 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);
这应该会使您的图像共享。
我正在写一个分享图片的应用。 我写了代码但遇到了问题。 我在做什么 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);
这应该会使您的图像共享。