美文网首页
Service 的xml配置

Service 的xml配置

作者: 海在路上 | 来源:发表于2018-08-23 21:47 被阅读49次
<service android:description="string resource"
         android:directBootAware=["true" | "false"]
         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>

android:description
描述用户服务的字符串。应将标签设置为对字符串资源的引用,以便它可以像用户界面中的其他字符串一样进行本地化。
android:directBootAware
服务是否可以直接启动 ; 也就是说,它是否可以在用户解锁设备之前运行。

注意:在直接引导期间 ,应用程序中的服务只能访问存储在 设备保护存储中的数据。

默认值为"false"。

android:enabled
服务是否可以由系统实例化 - “ true”如果可以,以及“ false”如果不是。默认值为“ true”。
该<application>元素具有自己的 enabled属性,适用于所有应用程序组件,包括服务。在 <application>和<service> 属性都必须是“ true”(因为它们都在默认情况下),如果要启用该服务。如果其中一个是“ false”,则禁用该服务; 它无法实例化。

android:exported
其他应用程序的组件是否可以调用服务或与之交互 - “ true”如果可以,则“和false”如果不可以。当值为“ false”时,只有相同应用程序的组件或具有相同用户ID的应用程序才能启动服务或绑定到该服务。
默认值取决于服务是否包含意图过滤器。缺少任何过滤器意味着只能通过指定其确切的类名来调用它。这意味着该服务仅供应用程序内部使用(因为其他人不知道类名)。所以在这种情况下,默认值是“ false”。另一方面,至少一个过滤器的存在意味着该服务旨在供外部使用,因此默认值为“ true”。

此属性不是限制服务暴露给其他应用程序的唯一方法。您还可以使用权限来限制可以与服务交互的外部实体(请参阅permission 属性)。

android:icon
代表服务的图标。必须将此属性设置为对包含图像定义的可绘制资源的引用。如果未设置,则使用为整个应用程序指定的图标(请参阅<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(),没有被授予这个权限,该方法将无法正常工作,并意图对象将不会被传递到服务。
如果未设置此属性,则<application>元素 permission 属性设置的权限将 应用于服务。如果两个属性均未设置,则该服务不受权限保护。

有关权限的更多信息,请参阅简介中的“ 权限” 部分和单独的文档“ 安全性和权限”。

android:process
要运行服务的进程的名称。通常,应用程序的所有组件都在为应用程序创建的默认进程中运行。它与应用程序包的名称相同。该 <application>元素的 process 属性可以为所有的组件不同的默认。但组件可以使用自己的process属性覆盖默认值,允许您跨多个进程分布应用程序。
如果分配给此属性的名称以冒号(':')开头,则在需要时创建一个专用于应用程序的新进程,并在该进程中运行该服务。如果进程名称以小写字符开头,则服务将在该名称的全局进程中运行,前提是它具有这样做的权限。这允许不同应用程序中的组件共享进程,从而减少资源使用。

相关文章

网友评论

      本文标题:Service 的xml配置

      本文链接:https://www.haomeiwen.com/subject/axqviftx.html