Twitter しか反応しないじゃん!
最初、"twitter://" を使えば Android機にインストールされている "twitter://" に対応するアプリ一覧が表示されて、そこから好きなアプリを選んで起動できるんじゃないか?なんて夢を見てしまった。
でもそんな結果にはならずに、"twitter://" に反応するアプリは結局 Twitter だけで、他の Janetter や HootSuite はうんともすんとも言わないのだった。
(Twitter もちゃんと twitter://〜 とその後の部分を設定しないとやはり反応しない…)
そんなわけで、結局 Twitter 関連アプリの一覧が出てくる!って夢は捨てて、簡単に Twitter アプリを起動するだけで我慢することにした。
Twitter がインストールされているかどうか確認してからツイートする
まずは Twitter がインストールされているかどうかをこんなコードで調べる。
出典はココ。
boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); boolean app_installed = false; try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); app_installed = true; } catch (PackageManager.NameNotFoundException e) { app_installed = false; } return app_installed ; }
渡す uri は Twitter の場合 "com.twitter.android"。
因に LINE の場合は "jp.naver.line.android"。
インストールされていることが確認できたら、次はメッセージを uri にして Intent を作成して起動する。
String url = "twitter://post?message=test"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent);
これで Twitter アプリが起動して、渡したメッセージの "test" が入力された状態になる。