快速处理intent和intent过滤器。
1.Intent和IntentFilter介绍intent中文意思“意图”,一般使用组件之间的通信。 可用于激活活动、服务和BroadCast Recevier。
激活活动状态活动(intent );
激活服务服务(intent );
激活Broadcast sendBroadcast ();
intent通信有显性和隐形,但intent过滤器是实现隐形的intent通信。
2.Intent的简单使用方法是,只需这两列代码就可以实现事件之间的跳转。
new Intent () )的第一个参数是当前活动,第二个参数是要移动的目标活动。
intent intent=new intent (main activity.this,IntentFilterActivity.class ); 开始活动(intent; 我们跳的时候,可以传递一些信息
intent intent=new intent (main activity.this,IntentFilterActivity.class ); intent.put extra (字符串类型的密钥,任意类型的值); 开始活动(intent; 要检索传输信息,只需在目标活动中执行以下操作
Intent intent=getIntent (; //保存的信息的类型例如为stringanswer=intent.get('key ); 当然,我们也可以更新当前的活动;
可以通过
Intent intent=getIntent (; finish (; 开始活动(intent; 3 .如何使用IntentFIlter在不想透露我们的意图时可以使用IntentFIlter
简而言之,intent.setAction (、 setData )、 addCategory );
在intent中添加标识符,在intent过滤器中通过action、data和category识别自己的intent,然后启动相应的组件。
可以使用setAction以下关键字启动某些系统附带的服务,而无需设置intentFilter。 (我只列举了常用的东西)
1 Intent.ACTION_MAIN
指示活动是程序的开始
intent.set action (intent.action _ main;
2 Intent.Action.DIAL
调用拨号面板
请参阅官方api
3359 developer.Android.com/reference/Android/content/intent.html
intentFilter有三种内容:动作、数据和类别
3.1 action intent-filter至少有一个动作。 否则,它与任何intent都不匹配
intent通过方法intent.setAction ("; 设置操作并匹配intent-filter中的任何操作时,将启动相应的组件。 如果没有数据目录或两者都匹配。
如果同时匹配两个intentFilter,就会发现非常有趣的现象。
3.2 category intent通过方法intent.addCategory (; 添加类别。 只有与intentFilter中的category全部匹配时,才能触发事件。
3.3数据、数据和setData (; 用于通过方案、host、port、path、pathPrefix和pathPattern匹配Intent的数据uri。
可以通过
intent.setdata(URL; 构成
然后呢
在intentFilter中采用
按data Android 3360 scheme=' scheme ' Android 3360 host=' host ' Android 3360 port=' port ' Android 3360 path=' path '匹配
3.4 mimeType (补充:也可用于与Intent匹配)如果Intent使用intent.settype (“key”);android:mimeType=“key”中注册的所有事件都匹配。