码迷,mamicode.com
首页 > 移动开发 > 详细

android 四大组件之Service(6) 粘性与非粘性

时间:2016-06-25 12:14:32      阅读:711      评论:0      收藏:0      [点我收藏+]

标签:

请注意onStartCommand()方法必须返回一个整数。这个整数是描述系统在杀死服务之后应该如何继续运行(

上一节中缺省的 IntentService 实现代码会替你处理这一点,当然那样你就无法修改这个处理过程)。

onStartCommand()的返回值必须是以下常量之一:

START_NOT_STICKY 
如果系统在onStartCommand()返回后杀死了服务,则不会重建服务了,除非还存在未发送的intent。
当服务不再是必需的,并且应用程序能够简单地重启那些未完成的工作时,这是避免服务运行的最安全的选项。
START_STICKY 
如果系统在onStartCommand()返回后杀死了服务,则将重建服务并调用onStartCommand(),
但不会再次送入上一个intent, 而是用null intent来调用onStartCommand() 。除非还有启动服务的intent未发送完,
那么这些剩下的intent会继续发送。 这适用于媒体播放器(或类似服务),它们不执行命令,但需要一直运行并随时待命。
START_REDELIVER_INTENT 
如果系统在onStartCommand()返回后杀死了服务,则将重建服务并用上一个已送过的intent调用onStartCommand()。
任何未发送完的intent也都会依次送入。这适用于那些需要立即恢复工作的活跃服务,比如下载文件。

android 四大组件之Service(6) 粘性与非粘性

标签:

原文地址:http://www.cnblogs.com/chengbao/p/5615990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!