Androidで一番曖昧なのが Intent だと思います。そこで、自分なりに整理してみます。
そもそもIntentってなんぞ?
私の認識だと「アプリとアプリを橋渡しするシステム」です。
そして、その Intent は大きく分けて2種類存在します。
Activityを指定
受け渡し先のActivityを指定します。
以下は例になります。Test.class Activityへ遷移するために Intent のインスタンス宣言時に指定しています。
Intent intent = new Intent(Main.this, Test.class); startActivity(intent);
振る舞いを指定
受け渡し先に期待する振る舞いを指定します。期待に添った振る舞いをするアプリへユニキャスト*1またはブロードキャスト*2します。
以下は例になります。ACTION_VIEW は「データを画面に表示する」と言う意味で、urlは表示する対象データです。つまり、『url先のデータを画面に表示する』振る舞いをするアプリをIntentが判断して起動させます*3。
Uri uri = Uri.parse("http://www.google.co.jp/"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
ここまでのまとめ
Activityを指定するのは分かりやすい、でも振る舞いを指定するのはイマイチ分かり難い。
次回
振る舞いの指定方法を整理しようと思います。