Android Facebook опубликовать фото

Посмотрев в сети 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 SDK Facebook

но я не могу оставлять сообщения.:(

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

1 ответ

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

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

РЕДАКТИРОВАТЬ: Просто получил это работает. Это в классе 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);

РЕДАКТИРОВАТЬ:

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

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

Intent postOnFacebookWallIntent = new Intent(getApplicationContext(), ShareOnFacebook.class);
postOnFacebookWallIntent.putExtra("facebookMessage", facebookMessage);
postOnFacebookWallIntent.putExtra("facebookPhoto", result);
startActivity(postOnFacebookWallIntent);
Другие вопросы по тегам