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 に答える