AndroidManifest.xml详解(service)
2019独角兽企业重金招聘Python工程师标准>>>
<serviceandroid:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string">
. . .
</service>
被包含于(CONTAINED IN):
<application>
可能包含的元素(CAN CONTAIN):
<intent-filter>
<meta-data>
说明(DESCRIPTION):
这个元素用于声明一个服务(Service类的子类)作为应用程序的组件之一。跟Activity不一样,服务没有可见的用户界面。它们被用于实现长时的后台操作,或提供能够被其他应用程序调用的通信API。
所有的服务都必须用清单文件中的<service>元素来代表。任何没有在清单中声明的服务都不能被系统看到,也不会被运行。
属性(ATTRIBUTES):
android:enabled
这个属性用于指示该服务是否能够被实例化。如果设置为true,则能够被实例化,否则不能被实例化。默认值是true。
<application>元素有它自己的enabled属性,它的这个属性适用于应用中所有的组件,包括service组件。对于被启用的服务,<application>和<service>元素的enabled属性都必须是true(默认值都是true)。如果有一个元素的enabled属性被设置为false,该服务就会被禁用,而不能被实例化。
android:exported
这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互。如果设置为true,则能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。
它的默认值依赖与该服务所包含的过滤器。没有过滤器则意味着该服务只能通过指定明确的类名来调用,这样就是说该服务只能在应用程序的内部使用(因为其他外部使用者不会知道该服务的类名),因此这种情况下,这个属性的默认值是false。另一方面,如果至少包含了一个过滤器,则意味着该服务可以给外部的其他应用提供服务,因此默认值是true。
这个属性不是限制把服务暴露给其他应用程序的唯一方法。还可以使用权限来限制能够跟该服务交互的外部实体。
android:icon
这个属性定义了一个代表服务的图标,它必须要引用一个包含图片定义的可绘制资源。如果这个属性没有设置,则会使用<application>元素的icon属性所设定的图标来代替。
无论是<application>元素设置的图标,还是<service>元素所设置的图标,它们都是该服务所有的Intent过滤器的默认图标。
android:label
这个属性用于设定一个要显示给用户的服务的名称。如果没有设置这个属性,则会使用<application>元素的label属性值来代替。
无论是<service>设定的标签,还是<application>元素设定的标签,它们都是该服务所有的Intent过滤器的默认标签。
这个标签应用引用一个字符串资源,以便它能够像用户界面中的字符串一样能够被本地化。但是,为了开发应用程序方便,也可以使用原生字符串来设置这个属性。
android:name
这个属性用于指定实现该服务的Service子类的类名。它应该是完整的Java类名(如:com.example.project.RoomService)。但是,也可以使用简写(如:.RoomService),系统会把<manifest>元素中package属性所设定的值添加到简写名称的前面。
一旦发布了应用程序,就不应该改变这个名称(除非android:exported=”false”)。
这个属性没有默认值,名称必须要指定。
android:permission
这个属性定义了要启动或绑定服务的实体必须要有的权限。如果调用者的startService()、bindService()和stopService()方法没有被授予这个权限,那么这些方法就不会工作,并且Intent对象也不会发送给改服务。
如果这个属性没被设置,那么通过<appliction>元素的permission属性所设定的权限就会适用于该服务。如果<application>元素也没有设置权限,则该服务不受权限保护。
android:process
这个属性用于设定服务所运行的进程名称。通常,应用程序的所有组件都运行在给应用程序创建的进程中,进程名与应用程序的包名相同。<application>元素的process属性能够给应用程序的所有组件设置一个不同的默认名称。但是每个组件自己的process属性都能够覆盖这个默认值,这样允许把应用程序分离到不同的多个进程中。
如果这个属性值用“:”开头,则在需要的时候系统会创建一个新的,应用程序私有的进程,并且该服务也会运行在这个进程中。如果这个属性值用小写字母开头,那该服务就会运行在以这个属性值命名的全局进程中,它提供了使其工作的权限。这样就允许不同的应用程序组件来共享这个进程,从而降低资源的使用。
转载于:https://my.oschina.net/u/782213/blog/98589
AndroidManifest.xml详解(service)相关推荐
- 【AndroidManifest.xml详解】Manifest属性之versionCode,versionName
Android:versionCode是什么? android:versionCode表示该软件的版本号,对用户是不可见的,它必须是一个int型的整数,它的大小代表该软件版本升级过多少次,因此每次发布 ...
- android-配置文件AndroidManifest.xml详解
AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实 ...
- AndroidManifest.xml详解(上)
本文编辑整理自: http://blog.163.com/hero_213/blog/static/39891214201242835410742/ 一.关于AndroidManifest.xml ...
- AndroidManifest.xml详解(转)
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
- AndroidManifest.xml详解
我们在进行APP开发的时候都会遇到一个文件:AndroidManifest.xml.从刚开始进行Android开发,到现在已经过去了几个月,还是对这个文件一知半解,只知道它是配置用的.但是这文件里的东 ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可 ...
- Web.xml详解(转)
这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一. Web.xml详解: (一) web.xml加载过程(步骤) 首 ...
- Stuts的Web.xml 详解
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...
- Ant之build.xml详解
Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道 make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令 ...
- springboot2.0日志配置 logback的使用和logback.xml详解
logback的使用和logback.xml详解写的非常详细. 只根据上面的我们会发现,日志要么输出到文件.要么输出到控制台不能有选择的输出满足我们的要求,这是需要看下面这个文章, 多个xml路径,有 ...
最新文章
- java ajax jquery分页插件_分享精心挑选的12款优秀jQuery Ajax分页插件和教程
- opencv 最大内接矩形笔记
- 【iMX6ULL】触觉 imx6ull开发板交叉编译环境搭建
- WinForm与脚本的交互
- 包与模块管理及面向对象初步
- python 主线程_Python threading多线程模块
- python+gdal+numpy实现影像uint16转uint8
- cmd“不是内部或外部命令,也不是可运行的程序或批处理文件”
- opencv 物体尺寸测量
- 饥饿游戏2:星火燎原[The Hunger Games:Catching Fire]
- 登录江苏人社网办大厅
- 现实版《黑镜》上演!这位程序媛用 AI 让已故基友“永生”
- Lync 2013和Exchange 2013集成
- 招商银行信用卡中心笔试编程题 - 小招喵跑步
- 贝塞尔曲线介绍及其应用
- React 教程及其API接口文档
- c语言实现进程调度优先权调度算法和时间片轮转调度算法
- 单片机计算器c语言源程序文件的后缀是,基于单片机的计算器设计的源程序代码...
- 中国科学技术大学大学计算机学院,张俊霞 - 中国科学技术大学 - 计算机科学与技术学院...
- 什么是cross join,inner join,left join,right join以及full outer join
热门文章
- oracle Ebs database clone (no apps clone)
- Silverlight 操作Excel 中的进程资源释放问题(续)
- .Net Core应用框架Util介绍(一)转
- DSP using MATlAB 示例Example2.10
- SDWebImage缓存图片的机制
- SenchaEclipsePlugin-1.1.0的使用
- WordPress超级基本教程(转)
- 【渺小与伟大】这几张可视化图,颠覆你的认知!
- AIX双机调整DB2配置
- BigDecimal 基本使用 比较大小和加减乘除