例如,我创建了一个服务并使用onStartCommand方法返回START_REDELIVER_INTENT。这意味着如果服务没有完成对Intent的处理,那么将安排服务以相同的意图重新启动,直到完全处理该intent。如果发生这种情况,但在手机有机会重新启动该服务之前重新启动手机,则下次启动服务时(手机重启后或下次用户运行时)会将相同的意图传递给服务创建服务的应用程序)?或者这个意图是否会消失,而且永远不会被该服务处理?
编辑:我能够测试它,答案是意图消失,并且不会被服务处理。我在测试时注意到的另一件事是,如果某个应用程序被用户强行停止,那么任何未处理的Intent将永远不会被该服务处理,无论该电话是否经过重启。即使可以通过再次手动打开应用程序重新启动服务,仍然无法处理以前未处理的Intent,只有在手动启动应用程序后才会处理新的意图。