1

我正在通过单击按钮启动服务:

Intent intent = new Intent(getActivity(), UploadService.class);                     
getActivity().startService(intent);

我的应用程序可以启动多项服务。我知道第一次调用 onCreate() ,然后如果服务正在运行,则调用 onStartCommand() 。

onStartCommand 返回START_STICKY.

但我面临一个奇怪的行为:在第一次单击时,调用服务,onCreate() 然后 onStartCommand()... 等。在第二次单击时,当服务仍在运行时,onStartCommand()...等.

但是当第一个完成时, onDestroy() 被调用,而第二个仍在进行中......?

如何避免这种情况?

谢谢

4

1 回答 1

1

如果您启动已经在运行onDestroy()的服务,则不会调用服务,并且已经运行的服务实例将被带到前面,但如果您的服务已明确完成/停止,则只会onDestroy()调用它。

于 2012-11-20T09:16:24.850 回答