试题详情
简答题请说明作为onStartCommand()方法返回值的三个常量START_NOT_STICKY、START_REDELIVER_INTENT及START_STICKY的作用。
  • S.TART_NOT_STICKY:
    当onStartCommand()方法的返回值为常量START_NOT_STICKY时,表明在onStartCommand()方法运行结束后,如果系统杀死了Service,系统就不会再重建这个Service,除非有待处理意图投递给它。这样,Service在意外中止后将停止运行。
    S.TART_STICKY:
    当onStartCommand()方法的返回值为常量START_STICK时,表明在onStartCommand()方法运行结束后,如果系统杀死了Service,系统会重建这个Service并且再次调用onStartCommand()方法,但不会再次投递上次刚执行的意图给它,而是用一个空意图去启动Service,这样可以确保Service一直保持原先的运行状态。
    S.TART_REDELIVER_INTENT:
    当onStartCommand()方法的返回值为常量START_REDELIVER_INTENT时,表明在onStartCommand()方法运行结束后,如果系统杀死了Service,系统会重建这个Service并且再次调用onStartCommand()方法,而且会先执行上次投递给它的意图,随后再轮到其他未处理意图。这样,可以确保因意外中止的Service自动重新运行,保证原先意图得到执行。
  • 关注下方微信公众号,在线模考后查看

热门试题