Android 车联网——电源管理功能扩展(十)

        前面两篇文章介绍了 CarPowerManagementService 和 CarPowerManager 相关代码,他们具有对应关系。对于源码中所提供的功能和电源状态等不足以满足实际开发需求,这里我们列举一些实际项目中所遇到的变化。

一、电源状态变化

        对于电源状态实际开发中肯定会比源码中提供的要多,比如 OTA(升级)、REMOTE(远程)、DEVELOPER(开发者)等。对于只增加了电源状态的还是比较好修改的,如果是连电源状态的获取方式都变了,那整个电源管理模块基本就可以重做了。前面的电源状态主要通过 PowerHalService 返回电源的各种状态,如果这里使用车辆属性信号来获取和监听车辆状态呢?

1、注册信号监听

init

@Override
public void init() {
    ……
    registerListener();
}

        这里调用信号监听方法。

registerListener

private void registerListener() {
    for (int propertyId : mCarPowerPropertyIds) {
        mCarPropertyService.registerListener(propertyId, 0, mICarPropertyEventListener);
    }
}

//监听回调
private final ICarPropertyEventListener mICarPropertyEventListener = new ICarPropertyEventListener.Stub() {
    @Override
    

你可能感兴趣的:(Android,车联网,android)