f47*_*071 11 android google-play-services google-location-services
我一直在看着和玩FusedLocationProviderApi.该类包含以下两种方法:
PendingResult<Status> requestLocationUpdates(GoogleApiClient client, LocationRequest request, LocationCallback callback, Looper looper)
PendingResult<Status> requestLocationUpdates(GoogleApiClient client, LocationRequest request, LocationListener listener, Looper looper)
Run Code Online (Sandbox Code Playgroud)
它们具有非常相似的签名和描述,唯一的区别在于使用LocationCallback和使用其他用途LocationListener.
抽象类LocationCallback定义了两种方法:
void onLocationAvailability(LocationAvailability locationAvailability)
void onLocationResult(LocationResult result)
Run Code Online (Sandbox Code Playgroud)
并且接口LocationListener只定义了一个方法
abstract void onLocationChanged(Location location)
Run Code Online (Sandbox Code Playgroud)
无视其他方法LocationCallback,这两者之间有什么区别?是否有一些概念差异或特殊用例使一个优先于另一个?复制功能的理由是什么?
ian*_*ake 17
您将注意到onLocationResult()返回LocationResult - 这使得处理同时接收多个位置变得更加容易 - 如果您通过设置setMaxWaitTime()正确地批量位置请求,则会经常遇到这种情况.
如果您选择使用旧版本LocationListener,则onLocationChanged()在批处理时您将连续收到多个回调.
| 归档时间: |
|
| 查看次数: |
4479 次 |
| 最近记录: |