AndroidのgetLastKnown Locationがnullを返す場合.
概要
位置情報を利用したおもちゃのプロジェクトをしています.
前回更新した場所を返しますが、保存されていないのでnullを返すようです.
解決する
Androidでは、Location ProviderはGPSを提供せず、ネットワークも提供しています.
ネットワークの精度が低下しているため、アシストロールとして使用する必要があります.
精度は下がったが、ないよりはましだ.
ニワトリの代わりに鶏を使う
まずネットワークにインポートし、次に
GPS位置を更新して持って来れば、補強できるはずです.
位置情報を利用したおもちゃのプロジェクトをしています.
getLastKnownLocation()
はnullを返し続けます.前回更新した場所を返しますが、保存されていないのでnullを返すようです.
解決する
Androidでは、Location ProviderはGPSを提供せず、ネットワークも提供しています.
ネットワークの精度が低下しているため、アシストロールとして使用する必要があります.
// GPS로 캐싱된 위치가 없다면 Network로 가져옴
val location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) ?: locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)
GPS PROVIDERがnullの場合、これをNETWORK PROVIDERに変換します.精度は下がったが、ないよりはましだ.
ニワトリの代わりに鶏を使う
まずネットワークにインポートし、次に
onLocationChanged()
コールバックGPS位置を更新して持って来れば、補強できるはずです.
Reference
この問題について(AndroidのgetLastKnown Locationがnullを返す場合.), 我々は、より多くの情報をここで見つけました https://velog.io/@jeep_chief_14/Android에서-getLastKnownLocation이-null을-반환할-경우テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol