読者です 読者をやめる 読者になる 読者になる

hyoromoのブログ

iOS/AndroidもしくはCocos2dxネタを書いています

Intentを大きく2種類に分けるところまで整理してみたよ

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を指定するのは分かりやすい、でも振る舞いを指定するのはイマイチ分かり難い。

次回

振る舞いの指定方法を整理しようと思います。

*1:単一データ送信

*2:特定多数へデータ送信

*3:この振る舞いだとインターネットブラウザがURL先を開いて画面上に表示されます