1

ボタンをクリックするだけでサービスを開始しています:

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

私のアプリでは、いくつかのサービスを起動できます。初めてonCreate()が呼び出され、サービスが実行されている場合はonStartCommand()が呼び出されることを私は知っています。

onStartCommandはを返しますSTART_STICKY

しかし、私は奇妙な動作に直面しています。最初のクリックで、サービスが呼び出され、onCreate()、次にonStartCommand()...などが呼び出されます。2回目のクリックで、サービスの実行中にonStartCommand()...などが呼び出されます。 。

しかし、最初の処理が終了すると、2番目の処理がまだ進行中のときにonDestroy()が呼び出されます...?

それを回避する方法は?

ありがとう

4

1 に答える 1

1

すでに実行されているサービスを開始すると、onDestroy()of Serviceは呼び出されず、すでに実行されているServiceのインスタンスが前面に表示されますが、サービスが明示的に終了/停止されている場合は、そのサービスのみonDestroy()が呼び出されます。

于 2012-11-20T09:16:24.850 に答える