无法通过LocationManager.GPS_PROVIDER获取GPS坐标

时间:2019-05-24 11:50:24

标签: android kotlin android-gps

我无法使用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?) {
    }
}

1 个答案:

答案 0 :(得分:2)

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