Android Service---在清单中声明一个服务

像Activity(和其他的组件)一样,所有的服务都必须在应用程序的清单文件中声明。

要声明服务就要给<application>元素添加一个<service>子元素,例如:

<manifest ... >
  ...
  <application ... >
      <service android:name=".ExampleService" />
      ...
  </application>
</manifest>

在<service>元素中还包括了一些其他的属性定义,如启动服务所需的许可和服务应该运行在哪个进程中。android:name属性是唯一必须的属性---它指定了这个服务的类名。一旦你发布了应用,就不应该改变这个名字,因为如果修改了,就会中断那些使用Intent引用这个服务的功能。

关于在清单文件中声明服务的更多信息,请参考<service>元素的说明。

就像Activity一样,一个服务也能够定义Intent过滤器,允许其他组件使用隐含的Intent来调用这个服务。通过声明Intent过滤器,安装在用户设备上的任何应用程序组件都能启动你的服务(如果你的服务声明了一个跟另一个应用程序传递给startService()方法的Intent匹配的Intent过滤器)。

如果你计划你的服务只在局部使用(其它的应用程序不使用它),那么你就不需要提供任何Intent过滤器(并且也不应该提供)。没有任何Intent过滤器,你就必须使用一个确切的命名服务类的Intent来启动这个服务。关于启动服务的更多信息会在“启动服务”一节中讨论。

另外,如果你在<service>元素中包含了android:exported属性,并且属性值设置为“false”,那么就能确保这个服务是你的应用的私有服务了。即使这个服务支持Intent过滤器,这也是有效的。

注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。

如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值