onStartCommand方法返回的数值问题

来源:互联网 发布:本科院校大数据专业 编辑:程序博客网 时间:2024/04/28 02:47

1、START_STICKY

        在运行onStartCommand后service进程被kill后,那将保留在开始状态,但是不保留那些传入的intent。不久后service就会再次尝试重新创建,因为保留在开始状态,在创建service后将保证调用onstartCommand。如果没有传递任何开始命令给service,那将获取到null的intent  

2、 START_STICKY

         在运行onStartCommand后service进程被kill后,并且没有新的intent传递给它。Service将移出开始状态,并且直到新的明显的方法(startService)调用才重新创建。因为如果没有传递任何未决定的intent那么service是不会启动,也就是期间onstartCommand不会接收到任何null的intent。

 3、  START_REDELIVER_INTENT

          在运行onStartCommand后service进程被kill后,系统将会再次启动service,并传入最后一个intent给onstartCommand。直到调用stopSelf(int)才停止传递intent。如果在被kill后还有未处理好的intent,那被kill后服务还是会自动启动。因此onstartCommand不会接收到任何null的intent。


 START_STICKY和 START_STICKY:当进程被杀死后onDestroy()是不会被执行的!

START_REDELIVER:当进程被杀死后onDestroy()会被执行!

0 0
原创粉丝点击