【问题标题】:Cannot Fetch GPS Coordinates Through LocationManager.GPS_PROVIDER无法通过 LocationManager.GPS_PROVIDER 获取 GPS 坐标
【发布时间】: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 版本,添加到清单是不够的。需要“精确位置”的运行时权限。

标签: android kotlin android-gps


【解决方案1】:

两种解决方案:
1. 也许您的移动设备中的 GPS 位置已关闭。因此,请尝试将其打开并检查位置。
2. 尝试实现由 Google Play Services API 提供的Fused location provider,因为它可以提高性能、节省电池寿命并提供更准确的位置

【讨论】:

  • Highfive 介绍FusedLocationProvider
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多