无法通过 LocationManager.GPS_PROVIDER 获取 GPS 坐标
Posted
技术标签:
【中文标题】无法通过 LocationManager.GPS_PROVIDER 获取 GPS 坐标【英文标题】:Cannot Fetch GPS Coordinates Through LocationManager.GPS_PROVIDER 【发布时间】:2019-10-11 00:34:52 【问题描述】:我无法使用LocationManager.GPS_PROVIDER
获取位置。但它正在使用LocationManager.NETWORK_PROVIDER
。
val locationManager=getSystemService(Context.LOCATION_SERVICE) as LocationManager
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,500, 100F,listener)//It's working if i use NETWORK_PROVIDER
val listener=object :LocationListener
override fun onLocationChanged(location: Location?)
latitude = location!!.latitude.toString()
longitude = location!!.longitude.toString()
Log.d("location", "$latitude $longitude")
override fun onStatusChanged(provider: String?, status: Int, extras: Bundle?)
override fun onProviderEnabled(provider: String?)
override fun onProviderDisabled(provider: String?)
【问题讨论】:
你可以参考这个仓库:github.com/yash786agg/GPS 到外面去。 GPS 在室内无法工作。 你在manifest中添加精细位置权限了吗? 是的,我在清单文件中添加了很好的位置。 如果针对现代 android 版本,添加到清单是不够的。需要“精确位置”的运行时权限。 【参考方案1】:两种解决方案: 1. 也许您的移动设备中的 GPS 位置已关闭。因此,请尝试将其打开并检查位置。 2. 尝试实现由 Google Play Services API 提供的Fused location provider,因为它可以提高性能、节省电池寿命并提供更准确的位置
【讨论】:
Highfive 介绍FusedLocationProvider
以上是关于无法通过 LocationManager.GPS_PROVIDER 获取 GPS 坐标的主要内容,如果未能解决你的问题,请参考以下文章
我如何知道LocationManager GPS检索的提供者?
LocationManager、GPS 和网络提供商.. 都被触发了吗?