アプリが終了したらサービスを開始し、ユーザーがアプリを再起動したらサービスを停止したいと考えています。ただし、すべてのアクティビティがいつ終了したかをアプリが直接知る方法はありません。
Activityユーザーはホームを押したり、電話などの割り込みを受けた場合に終了する可能性があるため、この問題は困難です。そのため、サービスを開始するタイミングを検出するために、ユーザーがルート アクティビティを終了することに依存することはできません。
そこで、以下の対策を実施する予定です。
ActivitiesStartServiceInternal に出入りしない限り、すべての OnPauseActivity。Intentパラメータを使用して追跡します。- すべての OnResume
Activities:StopService
これを達成するためのよりエレガントで堅牢な方法はありますか?
この質問にはいくつかのヒントがあります: アプリの終了/終了時に開始されたすべてのサービスを停止する