Android总结篇——Intent机制详解及示例总结

  • 时间:
  • 浏览:1
  • 来源:大发彩神在线计划—大发彩神计划怎么来的

       当然大伙也必须使用Intent的getIntExtra和getStringExtra土办法 获取,其数据源然后 Intent中的Bundle类型的实例对象。

CATEGORY_LAUNCHER

10.安装和卸载线程池

CATEGORY_HOME

8.获取并剪切图片

startActvity( )

sendOrderedBroadcasts( )

1.Action属性:

       TargetActivity在其<intent-filter>中声明了<action>,即目标action,机会大伙必须做有另一个 跳转的动作,就必须在Intent中指定目标的action,如下:

一.Intent介绍:

       Bundle和Intent有着密不可分的关系,主要负责为Intent保存附加参数信息,它实现了android.os.Paracelable接口, 内部人员维护有另一个 Map类型的属性,用于以键值对的形式存放附加参数信息。在大伙使用Intent的putExtra土办法 放置附加信息时,该土办法 会检查默认的 Bundle实例为不为空,机会为空,则新创建有另一个 Bundle实例,却说 将具体的参数信息放置到Bundle实例中。大伙也必须我本人创建Bundle对 象,却说 为Intent指定你這個Bundle即可,如下:

      在使用Intent进行匹配时,大伙必须使用setType(String type)机会setDataAndType(Uri data, String type)来设置mimeType。

组件名称

4.type:要执行动作的目标Activity所能处置的MIME数据类型

Home:

       当大伙为Intent指定相应的action,却说 调用startActivity土办法 后,系统会根据action跳转到对应的Activity

常量

     其中,前本身 是用于匹配同一包内的目标,第本身 是用于匹配一些包内的目标。

The activity displays the home screen, the first screen the user sees when the device is turned on or when the HOME key is pressed.

MainActivity.java:

     下面举有另一个 与浏览器交互的例子:

3.通过浏览器打开网页

sendStickyBroadcasts( )

下面举有另一个 回到Home界面的例子

      在为Intent设置category时,应使用addCategory(String category)土办法 向Intent中换成指定的类别信息,来匹配声明了此类别的目标Activity。

      没办法 大伙怎么可以知道目标有无 接受你這個前缀呢?这就必须看一下目标中<data/>元素的匹配规则了。

默认的category

android:host 匹配url中的主机名每段,如“google.com”,机会定义为“*”则表示任意主机名

2.data和extras,即执行动作要操作的数据和传递到目标的附加信息:

5.component,目标组件的包或类名称

      最近在进行android开发过程中,在将 Intent传递给调用的组件并完成组件的调用时遇到点困难,却说 以前对Intent的学习也是一知半解,最近特意为此搞懂一些时间,对Intent每段进行了系统的学习并进行了每段实践,下面将我本人的学习及Intent知识进行了完全的归纳收集,希望能帮助到同样遇到相同大问题的博友。下面是Intent介绍、详解及Intent示例总结:

     必须注意的是,在使用putExtras土办法 设置Bundle对象以前,系统进行的然后 引用操作,却说克隆技术操作,太大机会设置完以前再更改bundle实 例中的数据,将然后 影响Intent内部人员的附加信息。那大伙怎么可以获取设置在Intent中的附加信息呢?与之对应的是,大伙要从Intent中获取到 Bundle实例,却说 再从中取出对应的键值信息:

  不过有以前对path限定死了却说太好,比如大伙有另有另一个的url:(scott://com.scott.intent.data:7788/target/hello)(scott://com.scott.intent.data:7788/target/hi) 你這個以前该怎么能在么在办呢?  大伙必须使用另外有另一个 元素:android:pathPrefix,表示路径前缀。     大伙把android:path="/target"修改为android:pathPrefix="/target",却说 就必须满足以上的要求了。 而在进行搜索时,大伙使用了有另一个 putExtra土办法 ,将关键字做为参数放置在Intent中,大伙成为extras(附加信息),这中间涉及到了有另一个 Bundle对象。

      代表该目标Activity是该应用所在task中的初始Activity却说 出先在系统launcher的应用列表中。

5.显示地图与路径规划

11. 进入设置界面

bindService( )

Activity

      每有另一个 action然后 其特定的用途。

Service

解释

main.xml:

    【注意】:机会大伙在Intent中指定了component属性,系统将然后 再对actiondata/typecategory进行匹配。

startActivity( )

CATEGORY_PREFERENCE

五、Intent用法示例全面总结:

1. 调用拨号线程池

二、Intent作用:

      中间本身 土办法 分别是启动浏览器并打开指定网页、进行关键字搜索,分别对应的action是Intent.ACTION_VIEW和 Intent.ACTION_WEB_SEARCH,前者需指定相应的网页地址,后者需指定关键字信息,对于关键字搜索来说,浏览器会按照我本人设置的默认 的搜索引擎进行搜索。

      类似于:有另一个 必须处置图片的目标Activity在其声明中带有另有另一个的mimeType

效果图如下:

指定了此category后,在网页上点击图片或链接时,系统会考虑将此目标Activity列入可选列表,供用户选者以打开图片或链接。

      动作(Action),数据(Data),分类(Category),类型(Type),组件(Compent)以及扩展信(Extra)。其中最常用的是Action属性和Data属性。

  你這個以前机会只指定action就过高 了,大伙必须为其设置data值,如下:

      类似于:在大伙的应用主界面Activity通常有如下配置:

CATEGORY_DEFAULT

土办法 名称

3.category,要执行动作的目标所具有的特质或行为归类

       在目标<data/>标签中带有了以下几种子元素,大伙定义了url的匹配规则:

       除了自定义的action之外,Intent也内含了太大默认的action,下面列举几次:

android:path 匹配url中的路径

      在使用component进行匹配时,一般采用以下几种形式:

startService( )

表示该目标Activity是有另一个 首选项界面;

     Intent必须启动有另一个 Activity,也必须启动有另一个 Service,必须发起有另一个 广播Broadcasts。具体土办法 如下:

      Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动 作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用线程池之间,也可用于应用线程池内部人员的Activity/Service之间的 交互。却说 ,必须将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息。

CATEGORY_BROWSABLE

三.Inten启动组件的土办法 :

      大伙改动一下TargetActivity的声明信息:

4.发送电子邮件

6. 播放多媒体

类似于,大伙要呼叫给定的号码,必须另有另一个做:

      对于有如下声明的Activity

9. 打开Google Market

android:scheme 匹配url中的前缀,除了“http”、“https”、“tel”...之外,大伙必须定义我本人的前缀

android:port 匹配url中的端口

The activity can be the initial activity of a task and is listed in the top-level application launcher.

2.发送短信或彩信

CATEGORY_GADGET

sendBroadcasts( )

四.Intent的几次重要属性,下面进行详解:

The activity can be embedded inside of another activity that hosts gadgets.

7. 拍照

  此时,url中的每个每段和TargetActivity配置信息中完全一致也能跳转成功,却说 就被系统拒绝。

      几次常见的category如下:

      Intent 是有另一个 将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。比如说调用 startActivity()来启动有另一个 activity,机会由broadcaseIntent()来传递给所有感兴趣的 BroadcaseReceiver, 再机会由startService()/bindservice()来启动有另一个 后台的service.全必须看出来,intent主却说用来启动一些的 activity 机会service,全必须将intent理解成activity之间的粘合剂。

      大伙注意到,在打开网页时,为Intent指定有另一个 data属性,你這個太好是指定要操作的数据,是有另一个 URI的形式,大伙必须将有另一个 指定前缀的字符串转换成 特定的URI类型,如:“http:”或“https:”表示网络地址类型,“tel:”表示电话号码类型,“mailto:”表示邮件地址类型,等等。

strings.xml:

Broadcasts