アプリケーションがフォアグラウンドにある場合にのみアクティブにする必要があるアプリケーションにGPSを実装する必要がある場合、ユーザーはあるアクティビティで何かを実行したり、このアクティビティを別のアクティビティに変更したりしますが、ユーザーがアプリをオフにするか最小化すると、オフにしたい。
どちらの方法がいいのだろうか。アプリケーションクラスまたはサービスにGPSを実装しますか?
これをアプリケーションクラスに実装してから、OnResumeメソッドとOnPauseメソッドをオーバーライドして、GPSリスナーを有効または無効にします。
どこが良いのか正確にはわかりませんが、ロケーションリスナーをどこに置いても、Androidシステムがいつアプリケーションを強制終了するかを正確に知ることはできません。アプリケーションがフォアグラウンド/バックグラウンドにあることを知るために、バインドサービスを実装できます。これは、アプリケーションで実行するすべてのアクティビティのonStart()メソッドからバインドされ、onStop()でバインド解除されます。バインドされているアクティビティがない場合、サービスは自動的に停止し、ロケーション更新リスナーを削除します。これがお役に立てば幸いです。