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

 

posted @ 2015-02-05 07:24  一路向前_Future  阅读(623)  评论(0)    收藏  举报