AndroidアプリからFacebookアプリに画像をキャプション付きで投稿する

Androidにて、ActivityからFacebookにギャラリーの画像をシェアする際に、画像の説明であるキャプションを指定する方法がわからなかったので調べました。

結論としてはIntent.EXTRA_TITLEを指定すれば良いようです。

TwitterやメールではIntent.EXTRA_TEXTとかなので、そのままだとFacebookアプリには反映されません。

String text = "Some caption...";
Uri path = Uri.parse("content://media/external/images/media/1"); // Gallery's URI etc.

Intent intent = new Intent(Intent.ACTION_SEND);

// キャプション
intent.putExtra(Intent.EXTRA_TITLE, text);

// 添付ファイル
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_STREAM, path);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, getString(R.string.post_facebook)));

追記 2012/09/20

Facebookのプラットフォームにより、Intentでテキストを追加することができなくなったそうです。
Bug – Android Intent Sharing is Broken – Facebook開発者


タグ: , ,

新しく会社作りました!

コメントをどうぞ