CarPowerManager
实际工作中为了fix某个issue,车载应用需要在车机andoid系统退出STR模式(Suspend to RAM)时候执行某个逻辑 解决方案参照anrdoid文档 注册一个CarPowerStateListener回调,重写onStateChanged 方法 在androidManifest.xml中增加以下权限 <uses-permission android:name="android.car.permission.CAR_POWER" /> 在业务逻辑中注册CarPowerStateListener import android.car.hardware.power.CarPowerManager; import android.car.hardware.power.CarPowerManager.CarPowerStateListener; public class MyService extends Service { private CarPowerManager mCarPowerManager = null; @override public void onCreate() { super.onCreate(); Car car = Car.CreateCar(this); mCarPowerManager = (CarPowerManager)car.getCarManager(Car.POWER_SERVICE); if(mCarPowerManager!=null) { final CarPowerManager.CarPowerStateListener powerListener = new CarPowerManager.CarPowerStateListener () { @Override public void onStateChanged(int state) { Log.i(TAG, "onStateChanged() state = " + state); if(state==SUSPEND_EXIT) //此时退出STR mode { //do my business } } }; } } @override public void onDestroy() { super.onDestroy(); if(mCarPowerManager!=null) { mCarPowerManager.clearListener(); } } }