android facebook发布照片

时间:2011-01-10 14:24:53

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

在网上看了两天后,我终于决定发帖了。

好吧,我只想在我的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

但我无法发帖。 :(

请帮助我。感谢。

1 个答案:

答案 0 :(得分:8)

看看这个。

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);

编辑:

制作意图时:

结果是设备上图像的路径。

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