电源服务
电源服务提供机器人电源管理功能,可通过PowerManager控制机器人休眠、唤醒、电源状态查询、关机和定时开机功能。
通过 RobotContext 对象获取到PowerManager。
PowerManager powerManager = robotContext.getSystemService(PowerManager.SERVICE);
定时开机
- 设置定时开机
java
Promise<Void, PowerException> scheduleStartupPromise = powerManager.scheduleStartup(waitSeconds);/* [1] */
[1] 返回结果为Promise的方法为异步方法,可通过注册回调获取执行结果,也可执行get()方法转换成同步方法,具体请参考async。
- 取消定时开机
java
Promise<Void, PowerException> cancelStartupSchedulePromise = powerManager.cancelStartupSchedule();
关机
在不使用时,可主动关闭机器人
Promise<Void, PowerException> shutdownPromise = powerManager.shutdown();
休眠与唤醒
-
休眠
在休眠状态可减少电量消耗
java Promise<Void, PowerException> sleepPromise = powerManager.sleep(); -
唤醒
在休眠时下可以调用
wakeUp()唤醒机器人java Promise<Void, PowerException> wakeUpPromise = powerManager.wakeUp(); -
获取休眠状态
java boolean isSleeping = powerManager.isSleeping();
电源状态
获取电源状态
BatteryProperties batteryProperties=powerManager.getBatteryProperties();/* [1] */
[1] BatteryProperties电源状态
| 类型 | 属性 | 说明 |
|---|---|---|
| int | level | 电量 |
| boolean | chargerAcOnline | 是否在用交流电源充电 |
| boolean | chargingStationOnline | 是否在充电桩充电 |
| int | chargingVoltage | 充电电压 |
| boolean | full | 是否已充满 |
| int | temperature | 电源温度 |
监听电源状态
- 注册监听
java
BatteryListener batteryListener=new BatteryListener() {
@Override
public void onBatteryChanged(BatteryProperties batteryProperties) {
//电源状态改变
}
};
powerManager.registerBatteryListener(batteryListener);
- 取消监听
java
powerManager.unregisterBatteryListener(batteryListener);