电源服务

电源服务提供机器人电源管理功能,可通过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);