ロケーションプロバイダーが有効または無効になったときに、実際にデバイスのロケーションを検索せずに通知を受け取ることはできますか?
2 に答える
Android には、抽象メソッド onProviderEnabled(String provider) を提供する LocationListener インターフェイスがあります。したがって、独自のリスナーを作成し、 onProviderEnabled(String provider) メソッドを実装しました。リスナーをロケーション マネージャーに登録する必要があります。
上記と同じ場合、ロケーション プロバイダーが有効になったときに onProviderEnabled(String provider) が自動的に呼び出されます。
Locationmanager.isProviderEnabled()は、実際に場所を検索する必要はないようです。ポーリングする必要があるのであまり効率的ではありませんが、実際の場所を取得するよりはましです。
実際、このトピックについてもう少し読んでみると、requestLocationUpdates()を使用してこれを行うことができるようです。KEY_PROVIDER_ENABLED
プロバイダーが有効または無効になっているときにバンドルが送信されます。通知の最小時間と距離を非常に高い値に設定できます。このようにして、場所の通知をたまに受け取り、ほとんどの場合、通知を有効/無効にします。