Android Facebook опубликовать фото - PullRequest
2 голосов
/ 10 января 2011

После просмотра в сети в течение 2 дней я, наконец, решил опубликовать на SO.

Ну, я просто хочу опубликовать фотографию в моем приложении для Android на Facebook.Официальный 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 SDK Facebook

но я не могу писать.: (

Пожалуйста, помогите мне. Спасибо.

1 Ответ

8 голосов
/ 10 февраля 2011

Взгляните на это.

Ищем примеры Android SDK Facebook

EDIT: Просто получил это работает. Это в классе ShareOnFacebook под функцией postToWall ().

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

EDIT:

При создании намерения:

результат - путь к изображению на устройстве.

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