【发布时间】:2012-04-15 22:20:32
【问题描述】:
我浪费了很多时间,试图通过共享 Intent 共享一个简单的 jpeg 图像。
像往常一样最重要的是Facebook,而且像往常一样不起作用。
Intent shareIntent = new Intent(Intent.ACTION_SEND);
Uri picUri = Uri.parse("http://someserver.com/somepic.jpg");
shareIntent.setType("image/jpeg");
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, someString);
startActivity(Intent.createChooser(shareIntent, "some text..."));
选择器打开得很好,Facebook 也打开并让我登录,但它告诉我上传失败。 我也尝试过 Flicker 和 Mail,但都失败了。 然后我尝试将图像写入本地文件并从那里发送,也失败了:
Drawable dr = ImageLoader.getDrawable(url);
Bitmap bmp = ((BitmapDrawable)dr).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 80, stream);
byte[] data = stream.toByteArray();
FileOutputStream ostream;
try {
ostream = this.openFileOutput("pic.jpeg", Context.MODE_WORLD_READABLE);
ostream.write(data);
} catch (Exception e) {
e.printStackTrace();
}
Uri picUri = Uri.fromFile(new File("pic.jpeg"));
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
我不知道我这样做是否正确,以前没有这样做过。
我最后一次尝试是发送一个 HTML 字符串,其中包含图像作为 img 标记。但 Facebook 似乎不处理类型“text/html”,所以它不是一个选项。 我确信它只需要几行代码。但是哪些?
编辑
我忘记了线路
shareIntent.putExtra(Intent.EXTRA_STREAM, picUri);
在第一个代码 sn-p 中。当我尝试时它在那里,也没有工作。 太久没睡……
【问题讨论】:
-
你有没有找到一种合理的方式来分享来自 URL 的图片?
-
您好 didi_X8,您找到解决此问题的方法了吗?因为我也被困住了
标签: android facebook android-intent