LocationServices getFusedLocationProviderClient 不起作用

Posted

技术标签:

【中文标题】LocationServices getFusedLocationProviderClient 不起作用【英文标题】:LocationServices getFusedLocationProviderClient is not working 【发布时间】:2020-06-26 02:47:04 【问题描述】:

我想在位置可用时返回当前用户位置。

这是我的代码:

fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
    locationCallback = object : LocationCallback() 
        override fun onLocationResult(locationResult: LocationResult) 
            super.onLocationResult(locationResult)
            if (locationResult.lastLocation != null && locationResult.lastLocation.latitude > 0 && locationResult.lastLocation.longitude > 0) 

                lastLocation = locationResult.lastLocation
                currentUserLatLng = LatLng(lastLocation.latitude, lastLocation.longitude)

                fusedLocationClient.removeLocationUpdates(locationCallback)

            
        
    

问题是,它从来没有被调用过,我有权限并允许我的应用使用 gps,我为它设置了一个调试器,它永远不会进来

你能帮帮我吗?这段代码有什么问题?

【问题讨论】:

请发布完整代码@Navid Abutorab 【参考方案1】:

为什么在代码中写locationResult.lastLocation.latitude > 0locationResult.lastLocation.longitude > 0?它们可能是负面的

【讨论】:

【参考方案2】:

您是否在某个地方调用了 requestLocationUpdates?

fusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.getMainLooper());

【讨论】:

以上是关于LocationServices getFusedLocationProviderClient 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

LocationServices.SettingsApi 已弃用

无法解析符号“LocationServices”

Android LocationServices.GeofencingApi 示例用法

来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition

LocationServices.FusedLocationApi ...错误

android模拟位置不适用于locationservices.fusedlocationapi