码迷,mamicode.com
首页 > Windows程序 > 详细

Develop系列-API Guides-应用组件-Intents and Intent Filters(1)

时间:2014-08-09 02:31:41      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   http   color   java   使用   

Intents 和 Intent Filters

(Intent译为意图,让人比较费解,实际上解释为“消息”更加合理,干脆就不翻译了)

Intent是能在app组件间传递的消息体,基本使用方式有如下三种:

  • 启动activity
    • startActivity:intent描述需要启动的activity和必须的数据
    • startActivityForResult:intent启动的activity结束后,会触发onActivityResult回调
  • 启动服务
    • startService:intent描述需要启动的service和必须的数据
    • bindService
  • 发送广播

Intent类型

  • 显式intents:通过指定包名+类名来明确需要启动的组件,一般用在app内部使用。
  • 隐式intents:不指定具体的组件,通过定义一些动作或者条件,在系统中匹配能够执行动作或者满足条件的组件。

bubuko.com,布布扣

  1. A创建intent,作为入参startActivity
  2. Android系统搜索所有app的intent filter用于适配A发出的intent。(如果有多个匹配上,会弹框给用户选择)
  3. Android系统通过onCreate启动匹配上的B,并把A的intent当做入参

Caution: 为了确保你的app是安全的,通常用显式intent的方式来启动service,因为用隐式intent启动服务是有安全风险的,隐式intent无法预知启动的service就是你想要的那个。

创建一个Intent

Intent主要包含如下属性:

组件名

需要启动的组件名,一般指包名+类名:com.example.ExampleActivity

对于显式intent是必选的,对于隐式intent,不能指定。

bubuko.com,布布扣

Action(动作?)

 

Data(数据)

Category(类别)

Extras(额外信息)

Flags(标记)

显式intent例子

隐式intent例子

应用程序选择器

接收隐式intent

过滤器例子

使用Pending Intent

Intent解析

Action测试

Category测试

Data测试

Intent匹配

Develop系列-API Guides-应用组件-Intents and Intent Filters(1),布布扣,bubuko.com

Develop系列-API Guides-应用组件-Intents and Intent Filters(1)

标签:des   android   style   blog   http   color   java   使用   

原文地址:http://www.cnblogs.com/konger/p/3900393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!