Intent与Intent Filter
Intent对象
一.动作(Action)
(a)一般会通过窗口类的class或窗口类的全名确定某个具体的窗口,不过都是这些窗口的固有属性。还有第三种确定窗口的方法,就是窗口动作(Activity Action)。
(b)用一句话解释什么是Activity Action就是 "与窗口"绑定的一个或多个字符串,也就是说Activity Action是一个字符串,而且一个窗口可以拥有多个这样的字符串。
(c)intent.setAction("AndroidMainfest.xml中的某个Activity下的<intent-filter>标签内生命的<action name="xxx">");
二.种类(Category)
(a)系统中可能存在多个重名的Activity Action,无法确定是哪个窗口,那么这时候就需要Category属性(相当于定位的标志)了
(b)Category相当于文件夹,Action相当于文件
(c)Category与Action一样,都是与窗口绑定的字符串。
(d)如果声明窗口时同时指定了Action与Category属性,
三.数据(Data)
(a) Data与上面两者不同的是 不是简单地通过字符串比对的方式进行匹配,而是按着一定的规则进行匹配
(b)Data本身分为MIME Type 和 URI两种匹配方式
(i)MIME Type就是指访问的组件处理的数据类型,如video/mpeg4 , video/mp4 , video/avi等。也可以用通配符(*)进行匹配,如 "audio/*"表示所有的音频数据格式。
(ii)URI有些类似与web地址,但范围更广,如:
http://www.google.com
content://mobile.android.data/cities
ftp://192.168.17.168
(c)设置MIME Type 和 URI的方法
(i)
(ii)
(iii)
Action,Category,Date是android组件的3大过滤机制
四.附加数据(Extra)
向窗口传递数据
五.标志(Flags)
Flags的作用是 控制窗口的显示行为。
⭐️窗口定位:通过Component name,Action,Category和Data可以定位一个或多个窗口。
⭐️数据传递:通过Data和Extra
⭐️控制访问组件的行为(窗口,服务和广播):通过Flags

浙公网安备 33010602011771号