问题很简单:要在启用特定提供程序时调用位置侦听器的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和网络提供商注册,然后才能收到通知.
是否可以从尚未启用的位置提供者那里注册更新?
解决方法:
For a location Listener’s onProvIDerEnabled() method to be called when a specific provIDer is enabled, must that Listener have already requested updates from that same provIDer?
是的,您需要注册一个提供程序才能接收来自它的回调.
向一个提供程序注册的 *** 作是通知该提供程序侦听器存在.如果您不向其注册,那么现在可以通过它知道侦听器的存在.
Is it ok to register for updates from a location provIDer that is not yet enabled?
是.
总结以上是内存溢出为你收集整理的android-仅在为该提供程序注册了侦听器时才调用onProviderEnabled吗?全部内容,希望文章能够帮你解决android-仅在为该提供程序注册了侦听器时才调用onProviderEnabled吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)