问题很简单:要在启用特定提供程序时调用位置侦听器的onProviderEnabled()方法,该侦听器是否已从同一提供程序请求更新?
例如,如果您从网络提供商处注册位置管理器的位置更新:
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,
0, locationListener);
侦听器有一个onProviderEnabled()方法:
@Override
public void onProviderEnabled(String provider) {
Log.d(TAG, provider + " provider enabled"); }
如果我现在打开GPS位置提供程序,是否会调用onProviderEnabled?
根据我的经验,除非位置监听器也已注册接收来自GPS提供商的更新,否则不会被呼叫。如果它应该是这样的,那么就必须向GPS和网络提供商注册,以便通知它已被启用。
是否可以从尚未启用的位置提供商处注册更新?
答案 0 :(得分:4)
对于在启用特定提供程序时要调用的位置侦听器的onProviderEnabled()方法,该侦听器是否已从同一提供程序请求更新?
是的,您需要注册一个提供商才能从中接收回调。
这是向一个提供程序注册的操作,通知该提供程序存在侦听器。如果你没有注册它,现在有办法让它知道一个监听器存在。
是否可以从尚未启用的位置提供程序注册更新?
是