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 > 0
和locationResult.lastLocation.longitude > 0
?它们可能是负面的
【讨论】:
【参考方案2】:您是否在某个地方调用了 requestLocationUpdates?
fusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.getMainLooper());
【讨论】:
以上是关于LocationServices getFusedLocationProviderClient 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
LocationServices.SettingsApi 已弃用
Android LocationServices.GeofencingApi 示例用法
来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition