1. 什么是intent
Android的应用程序包含三种重要组件:Activity、Service,BroadcastReceiver,应用程序采用一种一致的方法来启动它们,intent。
intent代表了android应用Activity启动的意图,android应用将根据intent所包含的属性来启动目标组件(Activity,Service,BroadcastReceiver,etc)。Intent对象大致包含Action、Category、Data、Type、Extra、Flag、Component这七种属性。
2. intent-filter
在应用程序的Manifest.xml文件中,Activity、Service等组件会配置intent-filter,以指定启动当前组件时 intent对象所需满足的条件。
intent的定义有两种方式:explicit intent(显式)或 implicit intent(隐式)。显式intent明确指定了要启动的组件,无论目标组件的intent-filter为何值,均可以匹配成功;若使用隐式intent,应用程序会根据intent-filter的属性来对组件进行匹配,启动组件。
// explicity intent
Intent i = new Intent();
i.setClass( A.this, B.class);
startActivity(i);