- Intent不仅可以在同一个应用程序内部的不同组件之间通信,也可以在不同应用程序的组件间传递信息
- Intent负责对应用中一次操作的动作,涉及的数据,附加数据进行描述
- 当通过显式启动组件时,系统会根据指定的参数,直接启动目标组件,当隐式启动时,Android系统则需要通过Intent过滤器(Intent Filters)来实现
显式启动
Intent intent=new Intent(MainActivity.this,SubActivity.class);
startActivity(intent);
隐式启动
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse("......"))
startActivity(intent);
- 统一资源描述符 Uri: Uniform Resourse Identifier
- 隐式启动,Android系统需要Intent Filters过滤器机制来寻找目标组件
- Intent Filters:动作(action) 类别(category) 数据(data)
- 过滤器由
<intent-filter>
定义 - 每个过滤器可以定义多个
<category>
标签 <action>
:通过android:name属性指定组件的响应动作,用字符串表示<data>
:通过一个或多个属性来指定响应的scheme,host,port,path等值。接受的是一个Uri对象