随着FusedLocationProviderApi
被弃用,我很难使用FusedLocationProviderClient
在单击按钮后仅一次获得用户的位置。
新版本的play services location
添加了方法getCurrentLocation()
这就是我获得位置的方式
Androidanifest.xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
在我的片段中
private lateinit var fusedLocationClient: FusedLocationProviderClient
然后在获得位置许可代码后,这就是我获取位置的方式
fusedLocationClient.getCurrentLocation(LocationRequest.PRIORITY_HIGH_ACCURACY, null)
fusedLocationClient.lastLocation
.addOnSuccessListener { location: Location? ->
// Got last known location. In some rare situations this can be null.
if (location != null) {
textView.setText(getLocationNameFromLatLon(location.latitude, location.longitude))
}
}
我有一个困难的时间使用FusedLocationProviderClient获取用户的位置只有一次...
FusedLocationProviderClient有以下方法
其中LocationRequest又具有setNumUpdate(int NumUpdate)方法。通过传递NumUpdate=1
,您将获得用户的位置仅一次。
当接近传感器被激活时,我使用FusedLocationProviderClient来获取设备位置。当用户接近接近传感器时,程序应该得到设备的位置,但是它没有得到必要的代码,因为我认为它卡在. isSucessful()if语句上。
大约两周前,我们的应用程序的几个区域随机停止工作,特别是那些依赖最新位置的区域。这发生在多个设备上,包括真实设备和模拟器。在此之前,它每次都在工作。对我们来说幸运的是,所有停止工作的东西都隐藏在一面旗帜后面,我们能够在生产中禁用它。 我们的位置包装器代码两年来几乎没有被触碰过,在最近唯一一次更改(这是微不足道的)后,它在一个月内运行良好。换句话说,两年来它一直在毫无问题地工作。下面是一些片段。 现
谁能给我建议一种简单快速的方法,只需一次就能得到位置?!
问题内容: 有没有一种方法可以使GPS一次访问,而不必使用不断检查位置更新的弯针? 在我的场景中,我感兴趣的只是查找当前坐标,而不是与GPS卫星的连续连接。有谁知道如何做到这一点?提前致谢。 问题答案: 首先检查最近知道的位置是否是最近的。如果没有,我相信您必须设置onLocationChanged侦听器,但是一旦获得第一个有效位置,就可以随时停止更新流。 加成
问题内容: 关于基本的Android编程,我还有另一个问题: 如何访问GPS以获取正在运行该应用程序的手机的当前位置?检索信息需要多长时间?在这种情况下,GPS可能会被禁用,如何再次启用/禁用它。 必须在andorid清单中授予哪些权限? 问候和感谢您的回答, 诗丹 问题答案: 一些答案: 访问:请参见LocationManager和LocationListener。 权限:android.per
在我的应用程序中,我通过单击按钮将FusedLocationProviderClient的坐标存储到数据库中。问题是,当我重新启动手机或模拟器时,为空,我必须再次单击我订购的按钮才能使其工作。如果是否为空? 在我的按钮处理程序中,我调用,并使用纬度、经度和精度存储到数据库中。 任何帮助赞赏!