2014年12月6日土曜日

日本語や空白を含むテキストをTwitterに共有するIntentの使い方

アプリからTwitterに投稿したい場合、暗黙的Intentを使ってテキストを共有する方法があります。ですが、メモ帳などのアプリもテキストの共有先として候補に出てきてしまいます。

Android - Twitterに共有するIntentの書き方 - Qiita:
では、共有したいテキストをパラメータとして、Twitterの共有用URLに渡す方法が紹介されています。
ですがURLの文字列には、日本語や空白をそのまま含めることはできません。
このような文字列はエンコードする必要があります。

文字列のURLへのエンコードはURLEncoder.encode()というメソッドを使います。これを使ってtwitterにテキストを共有します。コードは以下のような感じ。
1
2
3
4
5
6
7
8
9
10
11
String string = "この文字列を共有します。空白 なんかも 入れちゃいます。";
String encodedString = "";
try {
 encodedString = URLEncoder.encode(string, "UTF-8");
} catch (UnsupportedEncodingException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
}
String url = "http://twitter.com/share?text=" + encodedString;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
activity.startActivity(intent);

これで、簡単にtwitterにテキストを共有できます。

参考リンク

Android - Twitterに共有するIntentの書き方 - Qiita:
URLエンコーディング のしかた - Android アプリ の 研究所 アンドロイド ナビ:

0 件のコメント:

コメントを投稿