2.3.2 用Intent和IntentFilters实现切换
Android通过一个专门的Intent类来进行界面的切换。Intent描述了程序想做什么(Intent意为意图、目的、意向),Intent类的相关类是IntentFilter。Intent请求来做什么事情,IntentFilter则描述了一个Activity(或下文的IntentReceiver)能处理什么意图。显示某人联系信息的Activity使用了一个IntentFilter,就是说它知道如何处理应用到此联系人数据上的View操作Activities在文件AndroidManifest.xml中使用来IntentFilters表现。
通过解析Intent可以实现Activity的切换,可以使用startActivity(myIntent)启用新的Activity。系统会考察所有安装程序的IntentFilters,然后找到与myIntent匹配得最好的IntentFilters所对应的Activity。这个新Activity能够接收Intent传来的消息,并因此被启用。解析Intent的过程发生在startActivity被实时调用时,这样做有如下两个好处。(https://www.daowen.com)
(1)Activity仅发出一个Intent请求,便能重用其他组件的功能。
(2)Activity可以随时被替换为有等价IntentFilter的新Activity。