暗黙的インテントのアクションとデータのメモ
暗黙的インテントを利用して、別アプリケーションを起動して何かをしたいときに必要な主な情報はアクションの種類とデータです。
例えば、「ブラウザを立ち上げて www.google.com にナビゲートしたい」と思えば、アクションとして ACTION_VIEW でデータは "http://www.google.com/" を Uri として渡します。
ま、このデータ自体にスキームなどが含まれていたりするので、「データ」といってもいくつか情報が含まれているわけですが。
その他、カテゴリやタイプなども必要になる場面はありますので、そうした所に付いては適宜情報を補足していこうと思います。
ここでは暗黙的インテント利用時のアクションとデータの組み合わせと、それを用いたときの結果をメモっていきたいと思います。
コンタクトの表示
"content://contacts/people/" でコンタクト (連絡先) が表示されます。さらに コンタクト ID を付けると特定のコンタクトが表示されます。
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setData(Uri.parse("content://contacts/people/1"));
// 1 is contact ID.
startActivity(intent);
地図の表示
地図は "geo:緯度, 経度" で表示されます。
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setData(Uri.parse("geo:33.741092,-118.039604"));
startActivity(intent);
Web ページの閲覧
Web ページの場合は "http://" から始まる URL で OK。
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com/"));
startActivity(intent);
電話アプリケーションの起動
電話のダイヤルパッドを起動するには "tel:123..." とすることで 123... が入力された状態で標準のダイヤルパッドが表示されました。
Intent intent = new Intent(android.content.Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:9879879876"));
startActivity(intent);