Android学习笔记——Intents 和 Intent Filters(二)
本人邮箱: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.组件名(Component name)
//目标组件的完全限制类名(fully qualified class name),包括app的包名。
// 例如com.johntsai.SecondActivity
//我们可以使用以下方法设置组件名
setComponent()
setClass()
setClassName()
//或者是Intent构造器
2.功能
//2.功能,活动(Action)
//指定一般要执行的功能或者活动的字符串
//我们可以指定Intent的action,使用以下方法 setAction()
//或是Intent构造器
//如果我们构造自己的action,必须要包括我们app的包名作为前缀
//例如:
static final String ACTION_TIMETRAVEL
="com.johntsai.action.TIMETRAVEL";
3.数据
//3.数据(Data)
//URI(Uri对象)引用数据或MIME类型的数据
//提供的data的类型一般由intent的action决定
//例如action是ACTION_EDIT,那么data就应该包含可编辑的文档的URI
//仅设置data URI
setData()
//仅设置MIME类型
setType()
//两者都设置
setDataAndType()
//提醒:如果你想要设置两者2,不能调用setData()和setType(),因为它们会使对方的数值无效。一般是使用setDataAndType()。
4.种类
//4.种类(Category)
//包含关于哪种组件应该处理Intent的附加信息的字符串
//一个intent可以有任意多个category说明
//指定category
addCategory()
组件名、功能、数据、种类(component name,action,date,category)代表了一个Intent最典型的特点,
通过读取这些属性,Android系统能决定开启哪个组件。
5.附加部分
//5.附加部分(Extras)
//携带需要完成要求功能的附加信息的键值对(Key-value paris)
//声明我们自己的附加部分(我们的app的Intent接收)确保包含我们的应用包名作为前缀
//例如:
static final String EXTRA_GIGAWATTS = "com.johntsai.EXTRA_GIGAWATTS";
6.标志
//6.标志(Flags)
//Flags指导Android系统怎样开启Activity(例如Activity属于哪个task)以及开启后怎样处理它(例如,它是否属于最近的Activity列表中)
setFlags();
如果喜欢,请点推荐。
To be Continued.....
Android学习笔记——Intents 和 Intent Filters(二)的更多相关文章
- Android学习笔记_46_Android的intent之间Object、List、List<Object>和全局变量数据的传递(Parcelable Serializable)
转http://blog.csdn.net/pku_android/article/details/7456305 一.传递List<String>和List<Integer> ...
- 【转】Pro Android学习笔记(十二):了解Intent(下)
解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...
- Android开发之旅: Intents和Intent Filters(理论部分)
引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...
- 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期
在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...
- 6、二、App Components(应用程序组件):1、Intents and Intent Filters(意图和意图过滤器)
1.Intents and Intent Filters(意图和意图过滤器) 1.0.Intents and Intent Filters(意图和意图过滤器) An Intent is a messa ...
- 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...
- 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式
可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...
- 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter
目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...
- 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...
随机推荐
- ios label 简单的长按复制文本信息
在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...
- [转]【MyBatis】Decimal映射到实体类出现科学计数法问题
原文地址:https://blog.csdn.net/harwey_it/article/details/80269388 问题: Mybatis查询Decimal字段映射到实体类后,出现科学计数法的 ...
- velocity单引号与双引号
(1)最外层是用单引号包围时,双引号直接使用就可以了,两个连续的单引号表示一个单引号:#set($var2 = 'A"B''C') --> $var2 的值为 A"B'C(2 ...
- C语言 · 学做菜
算法训练 学做菜 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我 ...
- Android ——利用OnDraw实现自定义View(转)
自定义View的实现方式大概可以分为三种,自绘控件.组合控件.以及继承控件.本文将介绍自绘控件的用法.自绘控件的意思是,这个控件上的内容是用onDraw函数绘制出来的.关于onDraw函数的介绍可参看 ...
- 图像颜色--opencv scalar
Scalar定义可存放1—4个数值的数值,其结构体如下: typedef struct Scalar { double val[4]; }Scalar; 例如:Scalar s: 如果使用的图像是1通 ...
- Selenium (3) —— Selenium IDE + Firefox录制登录脚本(101 Tutorial)
Selenium (3) -- Selenium IDE + Firefox录制登录脚本(101 Tutorial) selenium IDE版本: 2.9.1 firefox版本: 39.0.3 参 ...
- 谷歌draco
前不久,谷歌开源的Draco关于点云的编码与压缩的源码,Draco 由谷歌 Chrome 媒体团队设计,旨在大幅加速 3D 数据的编码.传输和解码.因为研发团队的 Chrome 背景,这个开源算法的首 ...
- 使用JS和JQuery 阻止表单提交的两种方法
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- R语言判断向量中是否存在一个元素
判断ori_data[,1]中是否存在元素a: a %in% ori_data[,1] 如果存在返回 true,否则返回 false