読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

twitter連携について

Android

概要

アプリでtwitter連携をする際の手順について

まとめ

基本的には以下の暗黙的intentでOK

public static final String TWITTER_SHARE_URL = "http://twitter.com/share?text=";

String url = TWITTER_SHARE_URL;
String shareUrl = url + shareMessage;

Intent shareTwitterIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(shareUrl));
startActivity(shareTwitterIntent);

ほぼ上記のコードで大丈夫なのだが(ブラウザがintentを受け取ってくれるため)、機種依存とかで暗黙intentを受け取ってくれない場合に備えて以下のコードを念のために仕込んでおく

private static Intent chkIntentRecieveApp(Intent shareTwitterIntent) {
	PackageManager pm = getPackageManager();
	List<ResolveInfo> resolveInfo = pm.queryIntentActivities(
			shareTwitterIntent, PackageManager.MATCH_DEFAULT_ONLY);

	if(resolveInfo == null || resolveInfo.size() == 0) {
		// 自作webviewでtwitterにログインさせるactivityへのintentを作成する
		return makeTwitterShareIntent();
	}else {
		return shareTwitterIntent;
	}
}

twitterへの暗黙intentを受け取る先がない場合、自作webview内でtwitterへ遷移してもらう

参考
Android - Twitterに共有するIntentの書き方 - Qiita

広告を非表示にする