暗黙のIntentを投げてみたを参考に暗黙のIntentを投げてみた
Intentとして使ってもらうことをいろいろ考えてみようとしていますが、それ以前にIntentが理解できていない。
id:minghai:20090316 参照。マジで助かったです。
ためしのコード
まずは、気付いたところ。
- ActivityはIntentの派生型になってる。
- アプリケーションの起動もIntentの仕組みを使ってるみたい。
呼ばれる側: おれおれスキーマでActivityが上がるようにする
AndroidManifest.xml に
<application ...> <activity ...> ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="foobar" /> </intent-filter> </activity> </application>
てのを追加。
これで、uriが"foobar:"のデータを指定したインテントを探索しようとすると、このActivityが上がるようになります。
呼ばれる側Activityのライフサイクル
Intentから派生させていますので、普通のActivityと同じです。
- 呼んだ時は
- 呼ばれる側Activityを持つプロセスが無いなら新プロセスが上がります。
- 呼ばれる側Activityを持つプロセスがあるなら、これを利用します。
- どちらにしてもonCreateが呼ばれます。
- Activityを閉じても明示的に終了させない限りプロセスは生き残ります。