Android Intent从url路径共享图像而不保存在本地

时间:2017-03-30 09:19:04

标签: android android-intent android-sharing

嗨我需要使用意图共享图像,图像存储在服务器路径中以实现它

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();
    }
}

这是我在点击分享按钮时使用的方法,我正在使用此列表适配器

1 个答案:

答案 0 :(得分:0)

EXTRA_STREAM的文档指出该值必须是content URI。从技术上讲,没有什么能阻止你在那里放置一个http URI。但99%的接收应用都不支持。

您可以做的是编写一个ContentProvider来访问http URI的内容并将其流式传输到接收应用程序。有点像FileProvider,但对于http URI而不是文件 或者,在共享之前,您下载图像,将其写入本地文件并使用FileProvider公开。