最新の記事アプリケーションアクティビティ、インテント、サービスについてデバイスAndroidでのデバイス制御について。地磁気センサ、加速度センサなどマルチメディアグラフィックス、音楽や動画再生などマルチメディア処理についてユーザインターフェースAndroidのユーザインターフェイスについて、またユーザインターフェイスを提供するコンポーネントの話題について。リソースAndroidでのアイコン、画像、文字列、ローカライゼーションなどHacksマッシュアップ開発環境Androidの開発環境など。コメントはまだありませんIntentを使って画面を遷移する(明示的Intent)では同一アプリケーション内での画面遷移をIntentで行いました。今回は暗黙的Intentを使って、他アプリケーションを呼び出してみます。暗黙的Intentは、所定の動作(たとえばブラウザを起動)のみ指定してアプリケーションを起動します。起動される側のアプリケーションは、反応したいイベント(ブラウザでURLを表示する、というAction)に対して返事をします。明示的Intentで単純に標準の「ブラウザ」アプリケーションを指定しても、Webを見るという動作は実現できます。標準アプリケーションを使っていれば一見問題無いように思えますが、利用者は好きなアプリケーションを選べなくなってしまいます。(またブラウザが入っていないシステムでは、残念ながら動かないでしょう。)暗黙的IntentはAction(動作)を指定して起動対象を決めることで、アプリケーションが緩やかに連携します。回りくどいように見えますが、明示的に指定するより、アプリケーション間の連携が格段に行いやすくなっています。それでは、サンプルコードで確認してみましょう。startActivityForResult(intent,MY_INTENT_BROWSER);}onClickメソッドの中で暗黙的インテントを送ります。今回はURLを引数としてブラウザに渡します。ACTION_VIEWに対応しているアプリケーションがあれば標準ブラウザ以外でも受け取ることが出来ます。選択肢が複数ある場合、利用者が起動するアプリケーションを選択できます。以下はどちらもインテントでActivityを開始できますが、返値の必要性に応じて、Intent起動メソッドを使い分けることもできます。Int)の第2引数Intは正でなければなりません。負値を指定した場合、startActivity(Intent)と同じ挙動になり、返り値が通知されないからです。今回は、返り値処理も仮実装しています。Int)の第2引数です。複数のIntentからonActivityResultを呼び出されるケースがあるので、第1引数requestCodeで使い分けます。自分の呼び出し元のアクティビティに戻ってきます(。その際、onActivityResultに実行結果が返ります)。Authormhidakaエンジニア。Androidと組込とRe:VIEW。techbooster主催。ひつじと呼ばれてます。2.0(β)に対応した解説書です。TechBooster.TechBoosterについて。