Android:通过意图共享文本和图像(URL)

5

我想通过ACTION_SEND意图分享一段文本和一张图片,但问题是这张图片只有URL地址,没有本地URI。目前我的代码如下:

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("*/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, text); // <- String
shareIntent.putExtra(Intent.EXTRA_STREAM, url); // <- URL object

现在我已经尝试了几种变化。我尝试了setType("image/*")、从URL解析Uri、直接传递URL字符串等等。到目前为止,似乎都没有起作用。然而,在发送到Twitter时,我看到了文本,只是没有图片。
编辑: 显然原来的描述不够清晰……当我启动上述意图时,它成功地打开了一个选择的应用程序,比如Twitter、Facebook、Gmail或短信,但是在这些应用程序中都没有出现图像。文本出现在Twitter中——我记不清其他地方是否出现文本,但此时我的重点仍然在于图像部分。

“到目前为止似乎什么都不起作用”是对你的症状相当不具信息性的描述。 - CommonsWare
至少在Facebook方面,他们建议使用他们的SDK在Facebook上分享信息。过去我曾尝试通过ACTION_SEND意图将内容发布到Facebook上,但是遇到了问题,所以我转而使用他们的SDK。我听说他们不再支持Android ACTION_SEND意图,但我不确定这是否属实。 - chRyNaN
@AndroidStudent,你能否发布一个访问Facebook SDK的Android库链接?此外,你知道Twitter是否提供类似的软件包吗? - Matt
https://developers.facebook.com/android-beta/ - Ming Li
2个回答

5
由于 Facebook 的政策规定,您无法以那种方式在 Facebook 上分享,正如在已知的漏洞中所说的那样:

API 不支持为用户预填充消息


我最近尝试提交一个使用他们SDK的Android应用程序。该应用程序共享了一张带有预填文本的图片,但仍可编辑。然而,在请求publish_actions权限时,它被拒绝了。他们在Facebook应用程序中根本不允许这样做。 - Diederik

-2
Intent sharingIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
sharingIntent.setType("image/*");
sharingIntent.setPackage("com.whatsapp");               
sharingIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
sharingIntent.putExtra(Intent.EXTRA_TEXT,videoPos);
sharingIntent.putExtra(Intent.EXTRA_STREAM,getImageUri(getApplicationContext(), bitmap));

这不是一个答案。 - Martin
你已经问过类似的问题了,请删除这个回答。 - Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接