博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
处理Service的onStartCommand返回值
阅读量:6078 次
发布时间:2019-06-20

本文共 737 字,大约阅读时间需要 2 分钟。

onStartCommand() 方法必须返回整型数,用于描述系统应该如何在服务终止的情况下继续运行服务.

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

  • START_NOT_STICKY
    如果系统在 onStartCommand() 返回后终止服务,则除非有挂起 Intent 要传递,否则系统 不会重建服务
    这是最安全的选项,可以 避免在不必要时以及应用能够轻松重启所有未完成的作业时运行服务。
  • START_STICKY
    如果系统在 onStartCommand() 返回后终止服务,则会 重建服务并调用 onStartCommand(),但绝对不会重新传递最后一个 Intent.
    相反,除非有挂起 Intent 要启动服务(在这种情况下,将传递这些 Intent ),否则系统会通过 空Intent 调用 onStartCommand()。
    这适用于 不执行命令、但无限期运行并等待作业的媒体播放器(或类似服务)。
  • START_REDELIVER_INTENT
    如果系统在 onStartCommand() 返回后终止服务,则会 重建服务,并通过 传递给服务的最后一个 Intent 调用 onStartCommand()。
    任何挂起 Intent 均依次传递。这适用于主动执行应该立即恢复的作业(例如下载文件)的服务。

小结:

    1. START_STICKY,START_REDELIVER_INTENT 会重启服务
    2. START_STICKY 会传递null的intent
    3. START_REDELIVER_INTENT 会传递最后一个intent

转载于:https://www.cnblogs.com/mjblogs/p/5090987.html

你可能感兴趣的文章
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VS2008查看dll导出函数
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
Mysql利用binlog恢复数据
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
WPF 降低.net framework到4.0
查看>>
搭建一个通用的脚手架
查看>>