Intent和IntentFilter的简单介绍

来源:互联网 发布:java用什么软件编写 编辑:程序博客网 时间:2024/05/18 20:13

Intent: 


作用: 

    1.指导组件操作(Activity,Service,BroadCastReceiver);   

    2.携带数据


两种Intent:

显式Intent:

//明确指定组件名称
Intent intent =new Intent(context,XXActivity.class);startActivity(intent);

隐式Intent:

//未指定组件名称
Intent intent =new Intent(Intent.ACTION_DIAL);Uri data = Uri.parse("tel:" + "135xxxxxxxx");intent.setData(data);startActivity(intent);

Intent属性:

Intent包含的属性:
Component:组件
Action:动作
Data:scheme,host,port,path,mineType
Category:三个类别
Extras:传到下个组件的值
Flags


IntentFilter

栗子:

<activity android:name="MainActivity">    <!-- 该Activity是该应用的启动入口页面,它会被储存在系统的launcher列表中 -->    <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />    </intent-filter></activity><activity android:name="ShareActivity">    <!-- 该Activity能够处理ACTION_SEND行为且数据类型为text/plain的隐式Intent -->    <intent-filter>        <action android:name="android.intent.action.SEND"/>        <category android:name="android.intent.category.DEFAULT"/>        <data android:mimeType="text/plain"/>    </intent-filter>    <!-- 该Activity能够处理ACTION_SEND行为且数据类型是媒体内容的隐式Intent -->    <intent-filter>        <action android:name="android.intent.action.SEND"/>        <action android:name="android.intent.action.SEND_MULTIPLE"/>        <category android:name="android.intent.category.DEFAULT"/>        <data android:mimeType="image/*"/>        <data android:mimeType="video/*"/>    </intent-filter></activity>