服务多次呼叫结束

时间:2012-11-20 09:07:54

标签: android android-intent service

我点击一个按钮即可启动服务:

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

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

onStartCommand返回START_STICKY

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

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

如何避免?

由于

1 个答案:

答案 0 :(得分:1)

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