充电服务
针对有充电桩装置的设备,充电服务提供 API 调用设备连接充电桩、断开充电桩的能力。作为充电服务访问代理的 RechargingManager 对象, 提供了充电服务的主要 API, 可通过 RobotContext 对象获取到。
RechargingManager rechargingManager = robotContext.getSystemService(RechargingManager.SERVICE);
连接充电桩
当设备连接到充电桩后就会自动启动充电功能,可以通过以下方法实现:
promise /* [1] */ = rechargingManager.connectToStation() .progress(new ProgressCallback<ConnectingProgress>() { @Override public void onProgress(ConnectingProgress connectingProgress /* [2] */ ) { // 调用进度执行到此处 } }) .done(new DoneCallback<Void>() { @Override public void onDone(Void aVoid) { // 调用完成执行到此处 } }) .fail(new FailCallback<RechargingException>() { @Override public void onFail(RechargingException e) { // 调用失败执行到此处 } });
[1] 返回等待连接进度的异步对象,通过该对象可等待或监听进度以及取消充电过程,具体用法参考 Promise。
[2] 异步回调的 ConnectingProgress 对象描述了连接充电桩进度信息,具体包括:
| 属性 getter | 说明 |
|---|---|
| progress | 连接进度类型 |
| 常量 | 说明 |
|---|---|
| PROGRESS_BEGAN | 开始连接充电桩 |
| PROGRESS_ENDED | 结束连接充电桩 |
通过指定参数, 可以设置连接充电桩的超时时间:
rechargingManager.connectToStation( new ConnectingOption.Builder().setTimeout(10).build() /* [1] */);
[1] ConnectingOption 对象通过 ConnectingOption.Builder 构建,使用说明如下:
| 说明 | 默认值 |
|---|---|
| 构造函数 | |
| 设置超时时间,单位:秒 | -1 (不超时) |
如何需要知道设备是否正在充电,通过以下代码实现:
boolean isCharging = rechargingManager.isConnectedToStation();
断开充电桩
充电过程如果需要断开充电桩,可以通过以下代码实现:
rechargingManager.disconnectFromStation();
注: 该接口是异步接口, 同样有进度和异常通知, 与连接充电桩操作类似,这里不在重复介绍