首先,确保你已经在Manifest中声明了需要的位置获取的权限。例如,ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION。
要在Android中获取设备的位置,可以使用Google Play服务。确保在Manifest中添加以下代码引用:
dependencies {
implementation 'com.google.android.gms:play-services-location:17.0.0'
}
然后在你要获取位置的Activity中创建一个LocationRequest:
// 具有高准确性的请求位置更新
val locationRequest = LocationRequest.create().apply {
interval = 10000
fastestInterval = 5000
priority = LocationRequest.PRIORITY_HIGH_ACCURACY
}
创建一个类实现LocationCallback,并在其中重写onLocationResult()方法:
class MyLocationCallback : LocationCallback() {
override fun onLocationResult(p0: LocationResult?) {
super.onLocationResult(p0)
// 处理获取到的位置
}
}
最后,在你的Activity中请求位置更新并注册回调:
private lateinit var fusedLocationClient: FusedLocationProviderClient
// ...
// 获取FusedLocationProviderClient
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
// ...
// 请求位置更新
fusedLocationClient.requestLocationUpdates(locationRequest, MyLocationCallback(), null)
上一篇:Android位置管理器在服务中