Android开发-API指南-<service>
<service>
英文原文:http://developer.android.com/guide/topics/manifest/service-element.html
采集(更新)日期:2014-7-2
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmva.html
- 语法:
-
- <service android:enabled=["true" | "false"]
- android:exported=["true" | "false"]
- android:icon="drawable resource"
- android:isolatedProcess=["true" | "false"]
- android:label="string resource"
- android:name="string"
- android:permission="string"
- android:process="string" >
- . . .
- </service>
- <service android:enabled=["true" | "false"]
- 包含于:
<application>
- 可包含:
-
<intent-filter>
<meta-data>
- 说明:
-
声明一个服务(
Service
的子类),并成为应用程序的一个组件。
与 Activity 不同,服务缺少可视化的用户界面。
服务用于实现需要长时间运行的后台操作,或是可被其他应用程序调用的通信频繁的API。所有的服务都必须在 Manifest 文件中用
<service>
元素声明。
任何未声明的服务都会被系统忽略,也肯定不会被运行。 - 属性:
-
android:enabled
-
服务是否能被系统实例化 —“
true
”可以,“false
”不允许。
默认值是“true
”。<application>
元素拥有自己的
enabled
属性,适用于应用程序所有的内部组件,包括服务。
服务要能被启用,
<application>
和
<service>
的此属性都必须设置为“true
”(均为默认值即可)。
如果其中任何一个为“false
”,则服务将被禁用,它就不能被实例化。 android:exported
-
其它应用程序的组件能否调用服务或与服务交互 — “
true
”可以,“false
”不可以。
如果设为“false
”,则只有本应用程序或用户 ID 相同程序的组件才能启动或绑定该服务。默认值取决于服务是否包含 Intent 过滤器。
如果不含任何过滤器,则意味着只能通过指定精确类名的 Intent 对象来调用。
这表示该服务仅供应用程序内部使用(因为其他应用程序通常不知道确切的类名称)。这时的默认值是“false”。
另一方面,如果存在一个以上的过滤器,则表示服务愿意被外部使用,因此默认值是“true
”。本属性并不是限制服务对其他应用程序的公开程度的唯一途径。
还可以利用权限机制对可与服务进行交互的外部对象进行限制(请参阅permission
属性)。 android:icon
-
代表服务的图标。
本属性必须设为对 drawable 资源的引用,该资源包含了图片的定义。
如果未设置本属性值,则会用全局性的应用程序图标来代替。(参阅
<application>
元素的
icon
属性)。服务的图标 — 不管是在此处还是在
<application>
元素中设置的 — 同时也是本服务中所有 Intent 过滤器的默认图标(参阅
<intent-filter>
元素的
icon
属性)。
android:isolatedProcess
-
如果设为 true ,则本服务将会运行于一个特殊的进程中。
该进程与系统其他部分隔离,且没有自己的权限。
与其通讯的唯一手段就是通过 Service API (绑定和启动)。 android:label
-
供用户查看的服务名称。
如果未设置本属性,则用全局性的应用程序文本标签代替(参阅
<application>
元素的
label
属性)。服务的文本标签 — 不管是在在此处还是在
<application>
元素中设置的 — 同时也是本服务中所有 Intent 过滤器的默认文本标签(参阅
<intent-filter>
元素的
label
属性)。本文本标签应该设为对字符串资源的引用,这样就能像用户界面中的其他字符串一样对其进行本地化。
不过为了应用程序开发时的便利,也可以直接设置为字符串。 android:name
-
实现服务的
Service
子类的名称。
这应该是一个完全限定格式的类名(比如“com.example.project.RoomService
”)。
不过作为简称,如果首字符为句点(比如“.RoomService
”),则会在前面自动加上
<manifest>
元素定义的包名称。应用程序一经发布,就
不应再更改名称
(除非设置了android:exported="false"
)。没有默认值。本名称必须指定。
android:permission
-
要启动或绑定服务的对象所必须拥有的权限名称。
如果
startService()
、
bindService()
或
stopService()
的调用者未获得本属性设定的权限,这些方法将会失效,Intent 对象也不会分发给本服务。如果本属性未被设置,则会把
<application>
元素的
permission
属性所定义的权限应用于本服务。
如果两个地方的属性都没有设置,则本服务将不受权限机制的保护。 android:process
-
运行服务的进程名称。
通常,应用程序的所有组件都运行在创建时的默认进程中。该进程的名称与程序包名相同。
<application>
元素的
process
属性可以为每个组件设置不同的默认进程。
但每个组件也可以用各自的process
属性覆盖默认设置,使得程序可以跨越多个进程运行。如果本属性设置的名称以冒号(':')开头,则必要时会新建一个属于该程序私有的进程,服务将在该新进程中运行。
如果进程名称以小写字母开头,则服务将运行于一个以此名字命名的全局进程中,并赋予应有的访问权限。
这就允许分属于不同应用程序的多个组件共享同一个进程,以减少资源的占用。
- 参阅:
-
<application>
<activity>
- 引入自:
- API 级别 1
Android开发-API指南-<service>的更多相关文章
- Android开发-API指南-<permission>
<permission> 英文原文:http://developer.android.com/guide/topics/manifest/permission-element.html 采 ...
- Android开发-API指南-<provider>
<provider> 英文原文:http://developer.android.com/guide/topics/manifest/provider-element.html 采集(更新 ...
- Android开发-API指南-应用程序开发基础
Application Fundamentals 英文原文:http://developer.android.com/guide/components/fundamentals.html 采集(更新) ...
- Android开发-API指南-Intent和Intent过滤器
Intents and Intent Filters 英文原文:http://developer.android.com/guide/components/intents-filters.html 采 ...
- Android开发-API指南-Android简介
Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...
- Android开发-API指南-设备兼容性
Device Compatibility 英文原文:http://developer.android.com/guide/practices/compatibility.html 采集日期:2014- ...
- Android开发-API指南-任务和回退栈
Task and Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集 ...
- 【最后一篇API译文】Android开发-API指南- Contacts Provider
Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是 ...
- Android开发-API指南-创建 Content Provider
Creating a Content Provider 英文原文:http://developer.android.com/guide/topics/providers/content-provide ...
- Android开发-API指南-Content Provider基础
Content Provider Basics 英文原文:http://developer.android.com/guide/topics/providers/content-provider-ba ...
随机推荐
- CentOS6.8安装Redis3.2.5
1.下载Redis3.2.5安装包 wget http://download.redis.io/releases/redis-3.2.5.tar.gz 2.解压.编译.安装redi ...
- CRT:C运行库简介
1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的"小内核&q ...
- 正则表达式(BREs,EREs,PREs)差异比较
我想各位也和我一样,再linux下使用grep,egrep, awk , sed, vi的搜索时,会经常搞不太清楚,哪此特殊字符得使用转义字符'\' .. 哪些不需要, grep与egrep的差异 ...
- TMS320C54x系列DSP的CPU与外设——第1章 绪论
第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有 ...
- Linux系统默认服务建议开启关闭说明列表
服务名称 功能简介 建议 acpid 电源管理接口.如果是笔记本用户建议开启,可以监听内核层的相关电源事件. 开启 anacron 系统的定时任务程序.cron的一个子系统,如果定时任务错过了执行时间 ...
- OAuth2.0_豆瓣登录_API错误返回码说明一览表[转]
转自: http://blog.unvs.cn/archives/douban-oauth-2.0-error_code.html 在遵循OAuth2.0协议,开始制作豆瓣过程中,经常会遇到以下两个错 ...
- IIS6.0服务器完美开启Gzip压缩[转]
转自:http://seo.qiankoo.com/731 在昨天服务器还没重装之前,这个服务器已经开启了Gzip,去年配置的时候就很波折,因为配置文件在C盘,所以重装后Gzip就没了. 今天理论上第 ...
- LPC1768之中断
一外中断:只有特定的4个外中断引脚, 1 在特定的引脚上,引脚功能要选对应的外中断功能 2设定的触发条件(高低电平.上升/下降沿) 3 NVIC设定,特定的通道. 二GPIO中断: 1只有GPIO0和 ...
- php序列化,反序列化
serialize("数组"); //序列化的函数 序列化示范:serialize(array('1'=>1235622,'2'=>'4142122')); unser ...
- rails4.2.6配置发送邮件
调试了很久,最后终于可以发送了 1 在config/environments/development.rb文件里配置邮件信息 config.action_mailer.raise_delivery_e ...