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開発者