充电服务

针对有充电桩装置的设备,充电服务提供 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();

注: 该接口是异步接口, 同样有进度和异常通知, 与连接充电桩操作类似,这里不在重复介绍