舰队引擎

public class FleetEngine 扩展对象

Google Fleet Engine 的客户端。

此类可让调用方 enabledisableLocationTracking() 停用位置跟踪。您可以使用 setLocationReportingInterval(long, TimeUnit) 控制更新频率。

此类不是线程安全的。

嵌套类摘要

接口 FleetEngine.AuthTokenFactory 在执行各种操作时,系统将要求此接口的实例提供授权令牌。
FleetEngine.ErrorListener Fleet Engine 客户端将使用此接口的实例在发生重要异常时通知开发者。
接口 FleetEngine.FleetEngineConfig 此接口已废弃。旧版钩子
接口 FleetEngine.StatusListener 状态更新的监听器。
枚举 FleetEngine.VehicleState 指示车辆是否接受新行程。

公共方法摘要

static void
clearInstance()
clearInstance 会停止位置跟踪,清除内部状态,并将 FleetEngine 单例重置为 null。
static void
createInstance(Application application, String providerId, String vehicleId, FleetEngine.AuthTokenFactory authTokenFactory, FleetEngine.ErrorListener errorListener)
创建 FleetEngine 单例,它可用于访问 Google Fleet Engine 服务。
static void
createInstance(Application application, String providerId, String vehicleId, FleetEngine.AuthTokenFactory authTokenFactory, FleetEngine.StatusListener statusListener, FleetEngine.ErrorListener errorListener)
创建 FleetEngine 单例,它可用于访问 Google Fleet Engine 服务。
void
disableLocationTracking()
停止位置跟踪。
void
enableLocationTracking()
开始将位置报告上传到 Fleet Engine 后端。
static FleetEngine
getInstance()
返回 FleetEngine 单例。
长整型值
getLocationReportingIntervalMs()
返回当前的位置报告间隔(以毫秒为单位)。
布尔值
isLocationTrackingEnabled()
返回位置跟踪是否已启用的指示值。
static void
void
setLocationReportingInterval(长间隔,TimeUnit intervalUnits)
设置将营业地点报告发送到 Fleet Engine 后端的最小时间间隔。
static void
setNavigatorNavigator 导航器)
void
setVehicleStateFleetEngine.VehicleState 状态)
设置 VehicleState。

继承的方法摘要

公共方法

public static void clearInstance ()

clearInstance 会停止位置跟踪,清除内部状态,并将 FleetEngine 单例重置为 null。

public static void createInstance (Application application, String providerId, String vehicleId, FleetEngine.AuthTokenFactory authTokenFactory, FleetEngine.ErrorListener errorListener)

创建 FleetEngine 单例,它可用于访问 Google Fleet Engine 服务。在内部,此方法使用 getRoadSnappedLocationProvider(Application) 获取 RoadSnappedLocationProvider,因此在调用此方法之前必须先成功获取 Navigator,否则会导致 IllegalStateException。调用 createInstance() 两次会导致 IllegalStateException

参数
应用 当前Application,不得为 null
providerId 提供商的 ID
vehicleId 将连接到 Fleet Engine 的车辆的 ID
authTokenFactory factory,用于提供 Fleet Engine 授权令牌
errorListener 发生 Fleet Engine 客户端错误时接收通知的 listener
抛出
IllegalStateException 如果 AndroidManifest.xml 中未指定提供方 ID

public static void createInstance (Application application, String providerId, String vehicleId, FleetEngine.AuthTokenFactory authTokenFactory, FleetEngine.StatusListener statusListener, FleetEngine.ErrorListener errorListener)

创建 FleetEngine 单例,它可用于访问 Google Fleet Engine 服务。在内部,此方法使用 getRoadSnappedLocationProvider(Application) 获取 RoadSnappedLocationProvider,因此在调用此方法之前必须先成功获取 Navigator,否则会导致 IllegalStateException。调用 createInstance() 两次会导致 IllegalStateException

参数
应用 当前的 Application 不能为 null
providerId 提供商的 ID。
vehicleId 将连接到 Fleet Engine 的车辆的 ID
authTokenFactory factory,用于提供 Fleet Engine 授权令牌。
statusListener 状态更新监听器。
errorListener 发生 Fleet Engine 客户端错误时收到通知的 listener
抛出
IllegalStateException 如果 AndroidManifest.xml 中未指定提供方 ID,则会发生该错误。

public void disableLocationTracking ()

停止位置跟踪。系统不会尝试停止正在进行的报告,但不会再生成或发送新的排名报告。

停止后可通过再次调用 enableLocationTracking() 恢复跟踪。

抛出
IllegalStateException 如果位置跟踪已停止

public void enableLocationTracking ()

开始将位置报告上传到 Fleet Engine 后端。默认情况下,报告会定期生成,默认每 5 秒报告一次。如果暂时性问题(例如网络连接中断)阻止了报告发送,报告频率可能会降低。

位置报告在后台线程中生成,此调用会立即返回。

可通过调用 disableLocationTracking() 停用位置跟踪功能。

可通过 setLocationReportingInterval(long, TimeUnit) 更改报告间隔。

抛出
IllegalStateException 如果位置跟踪已启用

public static FleetEngine getInstance ()

返回 FleetEngine 单例。必须在 getInstance() 之前调用 createInstance(),否则会返回 null。

public long getLocationReportingIntervalMs ()

返回当前的位置报告间隔(以毫秒为单位)。

public 布尔值 isLocationTrackingEnabled ()

返回位置跟踪是否已启用的指示值。

public static void setFleetEngineConfig (FleetEngine.FleetEngineConfig 配置)

参数
config

public void setLocationReportingInterval (long interval, TimeUnit intervalUnits)

设置将营业地点报告发送到 Fleet Engine 后端的最小时间间隔。默认报告间隔为 10 秒。支持的最小更新间隔为 5 秒。更频繁的更新可能会导致请求和错误变慢。

参数
interval
intervalUnits

public static void setNavigator 导航器导航器)

参数
导航器

public void setVehicleState FleetEngine.VehicleState 状态)

设置 VehicleState。如果启用了位置信息更新,则该值将在下次位置信息更新时传播。如果停用位置信息更新,系统会立即触发更新。

VehicleState 更新在后台线程中进行,此调用会立即返回。

参数
state
抛出
IllegalStateException 在 VehicleState 设置为 Online(在线)状态时启用位置信息跟踪。