Androidは他のアプリを起動するのに「startActivity」を使います。
Intentに任意のUriを指定してstartActivityを呼び出せば、それに会わせたアプリが自動的に起動されます。
例えば、以下では電話をかけるアプリを起動します。
// Phone call
Intent intent = new Intent("android.intent.action.DIAL", Uri.parse("tel:0312345678"));
startActivity(intent);
以下は、ブラウザを起動する例です。
// Launch Browser
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.google.com"));
startActivity(intent);
以下は、地図を表示する例です。
// Launch map
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("geo:35.710883,139.796321?z=20"));
startActivity(intent);
geo:に続けて、経度と緯度を指定し、z=で拡大率を1〜23の間で指定します。
拡大率は1が地球全体で、2で2の2乗拡大、3で2の3乗拡大と続きます。
また、「geo:0,0?q=地名」と指定すれば、地名検索が行われます。
以下は、メーラーを起動する例です。
// Launch Mailer
String subject = getString(R.string.subject);
String message = getString(R.string.message);
Intent intent = new Intent("android.intent.action.SENDTO", Uri.parse("mailto:test@test.com"))
.putExtra(Intent.EXTRA_SUBJECT, subject)
.putExtra(Intent.EXTRA_TEXT, message);
startActivity(intent);
リソースのvalues/strings.xmlにsubject要素を追加して任意のメールの件名、message要素には任意の本文を指定しておきます。
後はIntentとUriに上記のように指定すればメーラーが起動します。
0 件のコメント:
コメントを投稿