由于FusedLocationProviderApi
已经被弃用,我在使用FusedLocationProviderClient
在用户点击按钮后仅获取一次位置时遇到了困难。
由于FusedLocationProviderApi
已经被弃用,我在使用FusedLocationProviderClient
在用户点击按钮后仅获取一次位置时遇到了困难。
LocationRequest 中有 setNumUpdates (int numUpdates) 方法。通过传递 numUpdates = 1
,你将只能"获取用户位置一次"。
play-services-location
添加了方法getCurrentLocation()
这是我获取位置的方式
AndroidManifest.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))
}
}