【发布时间】:2016-09-09 15:58:13
【问题描述】:
我正在尝试使用意图共享图像。这是我创建的方法
public void shareImg(int fileNum) //Consider fileNum=R.drawable.img
{
Uri uri= Uri.parse("android.resource://"
+ context.getPackageName() + "/" + fileNum);
Intent share=new Intent();
share.setAction(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, uri);
share.putExtra(Intent.EXTRA_TEXT, "Sent Via ---");
Intent chooser= Intent.createChooser(share, "Share Via");
context.startActivity(chooser);
}
图片与带有标题的 Whatsapp 正确共享。但是当我尝试与 Gmail、Messenger 等共享应用程序时,它会在 Toast 中显示错误。
例如。
Gmail 说:无法附加空文件
Messenger 说:无法转换为图片
【问题讨论】:
-
很少有应用程序支持
android.resourceUri方案。 -
为此,您需要先将该资源可绘制对象保存到存储中,然后与文件 URI 共享。
-
但是当我从图库或其他应用程序中选择时它可以工作
-
@Shabbir Dhangot 但为什么它只适用于whatsapp。?
-
正如@CommonsWare 所说,有些应用不是
android.resourcesURI。因此,在从库中选择时,您可以传递文件,以便它们可以轻松处理。我想你明白
标签: android android-intent imageview