【问题标题】:android facebook publish photoandroid facebook 发布照片
【发布时间】:2011-01-10 14:24:53
【问题描述】:

在网上看了2天,终于决定在SO上发帖。

我只是想在我的 android 应用中将照片发布到 facebook。

AM 使用官方的 android-facebook-sdk。我导入到示例项目并在上传部分添加我的代码以上传照片。喜欢

mUploadButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Bundle params = new Bundle();
        params.putString("method", "photos.upload");

        Bitmap temp = BitmapFactory.decodeResource(getResources(),R.drawable.facebook_icon);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        temp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        byte[] imgData = baos.toByteArray();

        params.putByteArray("picture", imgData);
        mAsyncRunner.request(null, params, "POST", new SampleUploadListener());
    }
});

但它没有工作:(

我浏览了该论坛中的链接,例如: Looking for android Facebook SDK examples

但我无法发布。 :(

请帮助我。谢谢。

【问题讨论】:

  • 你得到下面的代码了吗?请继续参与 SO 并提供反馈,以便其他人也可以从您的帖子中受益。

标签: android facebook photo publish facebook-android-sdk


【解决方案1】:

看看这个。

Looking for android Facebook SDK examples

编辑: 刚刚得到这个工作。这是在 postToWall() 函数下的 ShareOnFacebook 类中。

byte[] data = null;

Bitmap bi = BitmapFactory.decodeFile(photoToPost);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();

Bundle params = new Bundle();
params.putString("method", "photos.upload");
params.putByteArray("picture", data);

AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);

编辑:

制定意图时:

result 是设备上图像的路径。

Intent postOnFacebookWallIntent = new Intent(getApplicationContext(), ShareOnFacebook.class);
postOnFacebookWallIntent.putExtra("facebookMessage", facebookMessage);
postOnFacebookWallIntent.putExtra("facebookPhoto", result);
startActivity(postOnFacebookWallIntent);

【讨论】:

  • 如果这个答案对你有帮助。请发表评论,以便其他人知道它有效。有很多意见,但没有反馈。
  • 您能否进一步解释您的答案?主要是关于 ShareOnFacebook 类的位置,以及 postOnFacebookWallIntent 是什么?谢谢!
  • mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null); 我使用"me/feed" 而不是null 作为graphPath(第一个参数),但它不起作用。它适用于空值。谢谢
  • SDK和API与最初的问答相比发生了很大变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 2012-01-15
  • 1970-01-01
相关资源
最近更新 更多