标签:
英文原文: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>
<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
<application>
元素的
icon
属性)。
服务的图标 — 不管是在此处还是在
<application>
元素中设置的 — 同时也是本服务中所有 Intent 过滤器的默认图标(参阅
<intent-filter>
元素的
icon
属性)。
android:isolatedProcess
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>
标签:
原文地址:http://www.cnblogs.com/popapa/p/android_service-element.html