Hatena::ブログ(Diary)

temitaの不思議空間

2011-10-10

ACTION_SEND を使って facebook に URL とテキストを混ぜる方法

| 18:15 |  ACTION_SEND を使って facebook に URL とテキストを混ぜる方法 - temitaの不思議空間 を含むブックマーク

Android の Intent の話。ここではテキストとURLを区別する。
やってみた人は分かると思うんだけど、
facebook に送る時、 ACTION_SEND で
Intent.EXTRA_TEXTにテキストを入れるとなぜか削除されてしまう。
URL のみを入れた場合はうまくいく。
ではURLとテキストを混ぜるとどうなるかというと、
テキスト部分のみが削除されてしまう。ゴミ仕様。

今度はURLにテキストをスペースなしに繋げてみた。
ちゃんと全部送信される。だけど、URLが開かない。

繋げ方が悪いと思い、「URL + "?これでどうだ"」 としてみた。
こんどは文字部分がすべてURLエンコードしてくれてやがる。
これでは読めない。
なんとかURLを開けて文字を一緒に送れる方法がないかと考えた。

解決ソースはこれ
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT,url + "?#上手くいった?" );
startActivity(intent);

バグで無い場合は修正される可能性あり。?は削除しても上手くいくかもしれない。
もっと賢い、SDK 以外の方法ないですか?

追記:ごめんなさい。1日で修正されてしまいました。くうう。