嗨我需要使用意图共享图像,图像存储在服务器路径中以实现它
private void shareContent(String urlpath)
{
URL url = null; //Some instantiated URL object
try {
url = new URL(urlpath);
URI uri = url.toURI();
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
URI screenshotUri = uri;
sharingIntent.setType("image/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
context.startActivity(Intent.createChooser(sharingIntent, "Share image using"));
} catch (Exception e) {
e.printStackTrace();
}
}
这是我在点击分享按钮时使用的方法,我正在使用此列表适配器
答案 0 :(得分:0)
EXTRA_STREAM
的文档指出该值必须是content
URI。从技术上讲,没有什么能阻止你在那里放置一个http
URI。但99%的接收应用都不支持。
您可以做的是编写一个ContentProvider
来访问http
URI的内容并将其流式传输到接收应用程序。有点像FileProvider
,但对于http
URI而不是文件
或者,在共享之前,您下载图像,将其写入本地文件并使用FileProvider
公开。