-1

我正在尝试将我的资源文件夹中的图像发布到 Facebook 墙上。一切正常。如果我使用图像的 URL,它会发布在我的 Facebook 墙上。我想知道的是如何将我的资源文件夹中的图像保存到 facebook 墙上。这是我的代码片段。任何帮助将不胜感激。

Bundle params = new Bundle();
    Context ctx = null;
    @SuppressWarnings("null")
    Bitmap bitmap = BitmapFactory.decodeResource(ctx.getResources(),R.drawable.bestbuy_deal);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
    byte[] bitMapData = stream.toByteArray();
    params.putString("name","ICE App");
    params.putString("caption", "Bestbuy Deal for SONY Action Cam");
    params.putString("description", "Checkout SONY ICE For exciting deals!!");
    params.putString("link", "http://www.sony.com");
    params.putByteArray("picture", bitMapData);
//  params.putString("picture", "R.drawable.sony");

    facebook.dialog(this, "me/feed",params, new DialogListener()
4

1 回答 1

1

根据Facebook API 文档,“图片”参数必须是图片的 URL,而不是字节数组。我想这是因为 facebook 对话框使用 aWebView来显示提要帖子,因此图像必须在网络上可用。

您可以尝试使用本地资源 URI,但这可能无法完全正常工作,因为 Facebook API 需要足够聪明才能从本地 URI 中提取数据并将其放在自己的服务器上。不过,我很想知道它是否有效!

于 2012-10-30T15:37:56.197 回答