に次のAndroidサービスがある場合onStartCommand
:
MyWidgetUpdater updater = new MyWidgetUpdater();
updater.updateWidgets(...);
バックグラウンドスレッドでデータを取得してから、updater
フォアグラウンドスレッドでウィジェットを更新します。stopSelf()
バックグラウンド処理が完了する前にサービスが停止した場合(たとえば)はどうなりますか?これにより、ウィジェットが更新を完了しないことがありますか(スレッドが強制終了された可能性があるため)?もしそうなら、すべてのウィジェットがいつ更新を完了し、サービスを安全に停止できるかを知るためのデザインパターンはありますか?