Service中的onStartCommand()方法的三种返回值的含义以及理解

在service中,onStartCommand()方法有三种返回值:
  • START_STICKY(常量值:1):sticky的意思是“粘性的”。使用这个返回值时,我们启动的服务跟应用程序"粘"在一起,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务。当再次启动服务时,传入的第一个参数将为null;
  • START_NOT_STICKY(常量值:2):“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
  • START_REDELIVER_INTENT(常量值:3):重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
【备注:】
以上三种情况,可以理解为发生车祸后的人:
  • START_STICKY(常量值:1)车祸后自己苏醒,但是失忆;
  • START_NOT_STICKY(常量值:2)车祸后再也没有苏醒;
  • START_REDELIVER_INTENT(常量值:3)车祸后自己苏醒,依然保持记忆。

你可能感兴趣的:(android,service,onstartcommand)