複数のアクティビティで構成されるアプリがあります。すべてのアクティビティは、ローカル サービスにアクセスする必要があります。アプリ起動時にサービスを開始し、アプリ起動時にサービスを停止したい
a) アプリが破棄される (バックキー)
b) アプリが停止中 (ホームキー)
c) デバイスはディープ スリープ状態です (電源キー)
基本的に、目に見えるアクティビティがない場合、サービスは実行されるべきではありません。
onResume() のすべてのアクティビティでサービスをバインドし、onPause() のすべてのアクティビティでサービスのバインドを解除します。残念ながら、新しいアクティビティがバインドする前にサービスがバインド解除されるため、アクティビティを切り替えるたびにサービスが再作成されます。
それを防ぐ方法はありますか?