<receiver>

英文原文:http://developer.android.com/guide/topics/manifest/receiver-element.html
采集(更新)日期:2014-7-2
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmv7.html

语法:
<receiver android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</receiver>
包含于:
<application>
可包含:
<intent-filter>
<meta-data>
说明:
声明一个广播接收器(
BroadcastReceiver
的子类),并成为应用程序的一个组件。
广播接收器使得应用程序能接收由系统或其他应用程序广播的 Intent,即使本应用程序的其他组件都没有运行也没关系。

向系统声明广播接收器的方式有两种:
一种是在 Manifest 文件中以本元素声明,
另一种是用代码动态创建接收器并用
Context.registerReceiver()
方法注册。
关于动态创建广播接收器的更多信息,请参阅
BroadcastReceiver
类的说明。

属性:
android:enabled
广播接收器是否能被系统实例化 — “true”可以,“false”不可以。
默认值是“true”。

<application>
元素拥有自己的
enabled
属性,适用于应用程序的所有组件,包括广播接收器。
为了启用广播接收器,
<application>
<receiver> 的本属性都必须设置为“true”。
只要其中任何一个为“false”,则广播接收器就将被禁用,它将不能被实例化。

android:exported
广播接收器能否接收来自应用程序之外的消息 — “true”可接收,“false”不接收。
如果设为“false”,则本接收器只能接收本应用程序或用户 ID 相同程序的组件所发出的消息。

默认值依赖于广播接收器是否包含 Intent 过滤器。
如果不含任何过滤器,则意味着只能通过指定精确类名的 Intent 对象来触发。
这表示该接收器仅供应用程序内部使用(因为其他程序通常不知道精确的类名称)。这时缺省值是“false”。
另一方面,如果存在一个以上的过滤器,则表示广播接收器愿意接收来自系统或其他应用程序的 Intent,因此默认值是“true”。

本属性并不是限制广播接收器对外公开程度的唯一途径。
还可以利用权限来对可发送消息的外部对象进行限制(请参阅permission属性)。

android:icon
代表广播接收器的图标。
本属性必须设为对 drawable 资源的引用,该资源包含了图片的定义。
如果未设置本属性值,则将使用全局性的应用程序图标来代替。(参阅
<application>
元素的
icon
属性)。

广播接收器的图标 — 不管是在本属性还是在
<application>
元素中设置的 — 同时也是接收器中所有 Intent 过滤器的默认图标(参阅
<intent-filter>
元素的
icon
属性)。

android:label
供用户阅读的广播接收器的文本标签。
如果未设置本属性,则用全局性的应用程序文本标签代替(参阅
<application>
元素的
label
属性)。

广播接收器的文本标签 — 不管是在本属性还是在
<application>
元素中设置的 — 同时也是接收器中所有 Intent 过滤器的默认文本标签(参阅
<application>
元素的
label属性)。

本文本标签应该设为对字符串资源的引用,这样就能像用户界面中的其他字符串一样对其进行本地化。
不过为了应用程序开发时的便利,也可以直接设置为字符串。

android:name
实现广播接收器的类的名称,即
BroadcastReceiver
的子类。
这应该是一个完全限定格式的类名(比如“com.example.project.ReportReceiver”)。
不过作为简称,如果首字符为句点(比如“. ReportReceiver”,则会自动在前面加上
<manifest>
元素指定的包名称。

应用程序一经发布,就
不应更改本名称
(除非设置了android:exported="false")。

没有默认值。本名称必须指定。

android:permission
发送方要发送消息给广播接收器所必需的权限名称。
如果本属性未被设置,则
<application>
元素的
permission
属性所设置的权限将应用于广播接收器。
如果以上两个属性都未设置,则本接收器将不受权限机制的保护。

关于权限的详细信息,请参阅 Manifest 介绍一文的
Permissions
部分和另一篇文档安全和权限

android:process
运行广播接收器的进程名称。
通常,应用程序的所有组件都运行在创建时的默认进程中。
该进程的名称与程序包名相同。
<application>
元素的
process
属性可以为每个组件设置不同的默认进程。
但每个组件也可以用各自的 process 属性覆盖该默认值,使得程序可以跨越多个进程运行。

如果本属性值的名称以冒号(':')开头,则必要时会新建一个属于该程序私有的进程,广播接收器将运行于该新进程中。
如果进程名称以小写字母开头,则广播接收器将运行于一个以此名字命名的全局进程中,并赋予相应的访问权限。
这就允许不同应用程序的多个组件共享同一个进程,以减少资源的占用。

引入自:
API 级别 1

Android开发-API指南-<receiver>的更多相关文章

  1. Android开发-API指南-<permission>

    <permission> 英文原文:http://developer.android.com/guide/topics/manifest/permission-element.html 采 ...

  2. Android开发-API指南-<provider>

    <provider> 英文原文:http://developer.android.com/guide/topics/manifest/provider-element.html 采集(更新 ...

  3. Android开发-API指南-应用程序开发基础

    Application Fundamentals 英文原文:http://developer.android.com/guide/components/fundamentals.html 采集(更新) ...

  4. Android开发-API指南-Intent和Intent过滤器

    Intents and Intent Filters 英文原文:http://developer.android.com/guide/components/intents-filters.html 采 ...

  5. Android开发-API指南-Android简介

    Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...

  6. Android开发-API指南-设备兼容性

    Device Compatibility 英文原文:http://developer.android.com/guide/practices/compatibility.html 采集日期:2014- ...

  7. Android开发-API指南-任务和回退栈

    Task and Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集 ...

  8. 【最后一篇API译文】Android开发-API指南- Contacts Provider

    Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是 ...

  9. Android开发-API指南-创建 Content Provider

    Creating a Content Provider 英文原文:http://developer.android.com/guide/topics/providers/content-provide ...

  10. Android开发-API指南-Content Provider基础

    Content Provider Basics 英文原文:http://developer.android.com/guide/topics/providers/content-provider-ba ...

随机推荐

  1. imageNamed和dataWithContentsOfFile的区别(1)

    imageNamed和dataWithContentsOfFile的区别 imagecacheuiviewextensionprocessingxcode 最近老是受iphone内存问题的困扰,找了些 ...

  2. Unity 游戏框架搭建 (十六) v0.0.1 架构调整

    背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...

  3. 由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想

    0x00--目的 整理一下以前一个SYSTEM表空间和SYSAUX表空间使用率达到99%上限的处理思路和相关知识点,好记性不如烂笔头 0x01--表空间使用率现状 通过查询可得知目前表空间使用情况如下 ...

  4. Shell中的${}、##和%%使用范例

    假设定义了一个变量为,代码如下: file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值: ${file#*/}: 删掉第一个 / 及其左边的字符串:di ...

  5. Linq 综合写法

    var queryCount = (from pv in db.Province join pc in (from cc in         ((from v in db.ERPStockProdu ...

  6. 增强for循环和迭代器

    package example6; import java.util.ArrayList;import java.util.Iterator;import java.util.List; class ...

  7. 迪米特法则(LoD)

    如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用.其根本思想是类之间的松耦合. 类之间的耦合越弱,越有利于 ...

  8. STM32学习日志

    今天是开学第二周周末 写这篇博客纯属是为了记住一些学到的知识,大佬勿喷.. 首先学32要知道一些选型知识,32中常用的芯片类型(某宝常卖的开发板芯片大多是这几种):C8T6,RBT6,RCT6,VET ...

  9. tensorflow简单实现卷积前向过程

    卷积,说白了就是对应位置相乘再求和,卷积操作用广泛应用于图像识别,在自然语言处理中也开始应用,用作文本分类问题. 卷积操作最重要的部分就是卷积核或者说过滤器 1.常用过滤器尺寸为3*3或者5*5 2. ...

  10. 模仿淘宝首页写的高仿页面,脚本全用的原生JS,菜鸟一枚高手看了勿喷哈

    自己仿照淘宝首页写的页面,仿真度自己感觉可以.JS脚本全是用原生JavaScript写得,没用框架.高手看了勿喷,请多多指正哈!先上网页截图看看效果,然后上源码: 上源码,先JavaScript : ...