Service中onStartCommand返回值详解:
1、START_STICKY:当service已经启动,并且执行过onStartCommand,如果此时service被系统杀掉,那么service离开开始状态,同时不会保留分配到的Intent。稍后,系统将会尝试重新创建service。由于之前的service处于开始状态,所以在创建service实例后,onStartCommand方法一定会被调用;如果没有安排启动命令给service,将会使用空的intent调用onStartCommand方法。
2、START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,它不能保证service被杀掉后onStartCommand能够再次被调用;
3、START_NOT_STICKY:当service已经启动,执行过onStartCommand,并且没有新的intent分配到service,那么service将会离开开始状态,同时系统不会重新创建它直到有startService的调用。如果没有分配到intent,service不会再次开始,那么service将不会调用onStartCommand方法。
4、START_REDELIVER_INTENT:当service已经启动,执行过onStartCommand,那么它将会被安排重新启动并分配上次得到过的intent。Intent会保持安排分配给service直到调用stopSelf方法。当分配给service的intent为空时,onStartCommand方法将不会被调用,因为onStartCommand只会在没有处理完所有的intent是才会被调用。
Android Service的onStartCommand方法的返回值
最新推荐文章于 2024-04-29 09:26:29 发布