CarPowerManager
实际工作中为了fix某个issue,车载应用需要在车机andoid系统退出STR模式(Suspend to RAM)时候执行某个逻辑 解决方案参照anrdoid文档 注册一个CarPowerStateListener回调,重写onStateChanged 方法 在androidManifest.xml中增加以下权限 1 <uses-permission android:name="android.car.permission.CAR_POWER" /> 在业务逻辑中注册CarPowerStateListener 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 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(); } } }