问题描述
Google 建议使用 FusedLocationProviderClient
而不是 LocationManager
使用 LocationManager
我可以通过使用 LocationListener
接口订阅更改提供程序的状态事件:
void onProviderEnabled(@NonNull String provider) {}
void onProviderdisabled(@NonNull String provider) {}
如何使用 FusedLocationProviderClient
来实现?
解决方法
所以回答我自己的问题。
对于 FusedLocationProviderClient
,我们使用 LocationCallback
,其中我们有下一个方法,可以与 LocationManager
一起使用以获取提供者的状态
override fun onLocationAvailability(LocationAvailability: LocationAvailability?) {
super.onLocationAvailability(LocationAvailability)
val isGpsProviderEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
val isNetProviderEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
}