Android Activity的详细讲解
2010-08-14 00:34:00 来源:WEB开发网< action android:value="android.intent.action.PICK" />
< category android:name="android.intent.category.DEFAULT" />
< data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
< /intent-filter>
< intent-filter>
< action android:name="android.intent.action.VIEW" />
< action android:value="android.intent.action.EDIT" />
< action android:value="android.intent.action.PICK" />
< category android:name="android.intent.category.DEFAULT" />
< data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
< /intent-filter>
这里面配置用到了action, data, category这些东西,那么聪明的你一定想到intent里也会有这些东西,然后一匹配不就找到接收者了吗?
action其实就是一个意图的字符串名称。
上面这段intent-filter的配置文件说明了这个Activity可以接受不同的Action,当然相应的程序逻辑也不一样咯,提一下那个 mimeType,他是在ContentProvider里定义的,你要是自己实现一个ContentProvider就知道了,必须指定 mimeType才能让数据被别人使用。
不知道原理说明白没,总结一句,就是你调用别的界面不是直接new那个界面,而是通过扔出一个intent,让系统帮你去调用那个界面,这样就多么松藕合啊,而且符合了生命周期被系统管理的原则。
想知道category都有啥,Android为你预先定制好的action都有啥等等,请亲自访问官方链接Intent
ps:想知道怎么调用系统应用程序的同学,可以仔细看一下你的logcat,每次运行一个程序的时候是不是有一些信息比如:
Starting activity: Intent { action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER} flags=0x10200000 comp={com.android.camera/com.android.camera.GalleryPicker} }
再对照一下Intent的一些set方法,就知道怎么调用咯,希望你喜欢:)
更多精彩
赞助商链接