2

在网上看了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());
    }
});

但它没有工作:(

我也浏览了这个论坛中的链接: 寻找 android Facebook SDK 示例

但我无法发布。:(

请帮助我。谢谢。

4

1 回答 1

8

看看这个。

寻找 android Facebook SDK 示例

编辑:刚刚得到这个工作。这是在 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);
于 2011-02-10T08:45:40.703 回答