LocationRequest (FusedLocationProviderClient) - 已弃用

Posted

技术标签:

【中文标题】LocationRequest (FusedLocationProviderClient) - 已弃用【英文标题】:LocationRequest (FusedLocationProviderClient) - Deprecated 【发布时间】:2021-06-04 18:09:17 【问题描述】:

LocationRequest 现在已弃用?它的替代品是什么?

我正在使用它,最近收到一条弃用消息。我现在该怎么办:

val locationRequest = LocationRequest().apply 
            interval = LOCATION_UPDATE_INTERVAL
            fastestInterval = LOCATION_FASTEST_INTERVAL
            priority = LocationRequest.PRIORITY_HIGH_ACCURACY
        
        fusedLocationProviderClient.requestLocationUpdates(
            locationRequest,
            locationCallback,
            Looper.getMainLooper()
        )

【问题讨论】:

我检查了 Java,仍然没有被弃用。 是的,升级到 com.google.android.gms:play-services-location:18.0.0 后它已被弃用。 【参考方案1】:

你可以这样使用它

val locationRequest = LocationRequest.create().apply 
        interval = LOCATION_UPDATE_INTERVAL
        fastestInterval = LOCATION_FASTEST_INTERVAL
        priority = LocationRequest.PRIORITY_HIGH_ACCURACY
    

【讨论】:

不能是nullable,所以不需要create()?。我编辑了答案。

以上是关于LocationRequest (FusedLocationProviderClient) - 已弃用的主要内容,如果未能解决你的问题,请参考以下文章

无法访问“<init>”:它在“LocationRequest”中是私有的

Android定期位置locationRequest.interval不起作用[重复]

它是如何工作的 - requestLocationUpdates() + LocationRequest/Listener

FusedLocationProviderApi:LocationRequest.setPriority 如何与“位置模式”设备设置一起使用?

如何检查我们是不是已经调用了 fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIndent);

FusedLocationProviderClient 在多次 LocationRequest 后停止给出 locationResult