本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论。

欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3993488.html

  • 知识点:

继续昨天的Intents 和 Intent Filters的学习

  • 组成一个Intent(Building an Intent):

Intent 对象携带信息(例如明确的组件名或应该接收intent的组件种类(intent category)),Android系统使用这些

信息决定开启哪个组件。还携带了接收的组件使用的信息,为了完全的执行功能。

Intent包含的基本信息有以下几种:

1.组件名

1 //1.组件名(Component name)
2 //目标组件的完全限制类名(fully qualified class name),包括app的包名。
3 // 例如com.johntsai.SecondActivity
4 //我们可以使用以下方法设置组件名
5  setComponent()
6  setClass()
7  setClassName()
8 //或者是Intent构造器

2.功能

 1 //2.功能,活动(Action)
 2 //指定一般要执行的功能或者活动的字符串
 3 //我们可以指定Intent的action,使用以下方法
 4
 5 setAction()
 6 //或是Intent构造器
 7 //如果我们构造自己的action,必须要包括我们app的包名作为前缀
 8 //例如:
 9    static final String ACTION_TIMETRAVEL
10                   ="com.johntsai.action.TIMETRAVEL";

3.数据

 1 //3.数据(Data)
 2 //URI(Uri对象)引用数据或MIME类型的数据
 3 //提供的data的类型一般由intent的action决定
 4 //例如action是ACTION_EDIT,那么data就应该包含可编辑的文档的URI
 5 //仅设置data URI
 6 setData()
 7 //仅设置MIME类型
 8 setType()
 9 //两者都设置
10 setDataAndType()
11 //提醒:如果你想要设置两者2,不能调用setData()和setType(),因为它们会使对方的数值无效。一般是使用setDataAndType()。

4.种类

1 //4.种类(Category)
2 //包含关于哪种组件应该处理Intent的附加信息的字符串
3 //一个intent可以有任意多个category说明
4 //指定category
5 addCategory()

组件名、功能、数据、种类(component name,action,date,category)代表了一个Intent最典型的特点,

通过读取这些属性,Android系统能决定开启哪个组件。

5.附加部分

1 //5.附加部分(Extras)
2 //携带需要完成要求功能的附加信息的键值对(Key-value paris)
3 //声明我们自己的附加部分(我们的app的Intent接收)确保包含我们的应用包名作为前缀
4 //例如:
5 static final String EXTRA_GIGAWATTS = "com.johntsai.EXTRA_GIGAWATTS";

6.标志

1 //6.标志(Flags)
2 //Flags指导Android系统怎样开启Activity(例如Activity属于哪个task)以及开启后怎样处理它(例如,它是否属于最近的Activity列表中)
3 setFlags();

如果喜欢,请点推荐。

To be Continued.....

转载于:https://www.cnblogs.com/JohnTsai/p/3993488.html

Android学习笔记——Intents 和 Intent Filters(二)相关推荐

  1. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  2. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

  3. 6、二、App Components(应用程序组件):1、Intents and Intent Filters(意图和意图过滤器)...

    1.Intents and Intent Filters(意图和意图过滤器) 1.0.Intents and Intent Filters(意图和意图过滤器) An Intent is a messa ...

  4. Android学习笔记(四):在Activity中跳转--Intent的使用

    Android学习笔记(四):在Activity中跳转--Intent的使用 上篇,我们实战了一个很小的项目BMI,通过BMI这个项目,可以很好的理解Activity的程序结构,以方便后面高级API的 ...

  5. Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...

  6. 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...

  7. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout...

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  8. Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)

    Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...

  9. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

最新文章

  1. python对视频画框标记后保存
  2. Spring MVC 返回视图时添加的模型数据------POJO
  3. python-I/O-文件操作
  4. 理论+实验·MHA高可用配置及故障切换
  5. 《C++代码设计与重用》——1.7 参考文献和相关资料
  6. UVA 10334 Ray Through Glasses
  7. emacs latex_如何使用Emacs创建LaTeX文档
  8. 【万字干货】OpenMetric与时序数据库存储模型分析
  9. knx智能照明控制系统电路图_智能照明控制系统应用效果
  10. Emacs之multi-occur(替代grep)
  11. vue watch 经常监听不到_VUE处理 组件赋值 watch 监听不到赋值问题
  12. 2.3.6 CSM、RMC和RSCT管理系统
  13. 教你用优化视频的方法提高视频的质量
  14. MySQL系列 -2 创建数据库 并 分配用户远程访问权限
  15. python turtle画彩虹的代码_Python turtle画图库画姓名实例
  16. 安利一波软件、插件及其他
  17. 数据结构-顺序表(动态分配存储空间)
  18. 第031讲:永久存储:腌制一缸美味的泡菜
  19. dns网络服务器未响应是什么原因(如果各自方法都尝试后无法使用,请尝试重启猫)
  20. 有C++/C的java学习

热门文章

  1. 网络标准和OSI模型(1)
  2. Exchange2003中实现两个邮件系统收发邮件配置实例
  3. SMTPDiag 诊断工具
  4. visual studio 2017 添加自定义代码片段 .snippet文件
  5. [原创]Zynq SDIO WIFI SotfAP调试
  6. jenkins job构建后汇总结果到同一个文本文档中去
  7. INFORMATICA 的部署实施之 BACKUPRESTORE
  8. SharePoint 2013 配置基于AD的Form认证
  9. WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
  10. Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)