通过 ADB 拔下设备:"can't find service"
Unplugging the device via ADB: "can't find service"
我必须测试我的应用程序在休眠模式下的行为。根据 the documentation,我首先必须通过在终端中输入以下命令让设备认为它已拔出:
$ adb shell dumpsys battery unplug
但是,没有任何反应,它记录:
Can't find service: battery
我该怎么办?
日志指出没有电池服务(这可能是设备特定的)。
输入以下命令查找现有的电池相关服务:
$ adb shell service list | grep battery
结果会是这样
$ adb shell service list | grep battery
88 batterymanager: [android.app.IBatteryService]
107 batterystats: [com.android.internal.app.IBatteryStats]
114 batteryproperties: [android.os.IBatteryPropertiesRegistrar]
管理电池是有道理的,您应该使用 batterymanager。
$ adb shell dumpsys batterymanager
输出(如果 USB 已充电)
Current Battery Service state:
(UPDATES STOPPED -- use 'reset' to restart)
AC powered: false
USB powered: true
然后,当您键入时
$ adb shell dumpsys batterymanager unplug
和运行再次执行之前的命令,它输出
Current Battery Service state:
(UPDATES STOPPED -- use 'reset' to restart)
AC powered: false
USB powered: false
验证您应该使用 batterymanager 服务而不是 battery。
我必须测试我的应用程序在休眠模式下的行为。根据 the documentation,我首先必须通过在终端中输入以下命令让设备认为它已拔出:
$ adb shell dumpsys battery unplug
但是,没有任何反应,它记录:
Can't find service: battery
我该怎么办?
日志指出没有电池服务(这可能是设备特定的)。
输入以下命令查找现有的电池相关服务:
$ adb shell service list | grep battery
结果会是这样
$ adb shell service list | grep battery
88 batterymanager: [android.app.IBatteryService]
107 batterystats: [com.android.internal.app.IBatteryStats]
114 batteryproperties: [android.os.IBatteryPropertiesRegistrar]
管理电池是有道理的,您应该使用 batterymanager。
$ adb shell dumpsys batterymanager
输出(如果 USB 已充电)
Current Battery Service state:
(UPDATES STOPPED -- use 'reset' to restart)
AC powered: false
USB powered: true
然后,当您键入时
$ adb shell dumpsys batterymanager unplug
和运行再次执行之前的命令,它输出
Current Battery Service state:
(UPDATES STOPPED -- use 'reset' to restart)
AC powered: false
USB powered: false
验证您应该使用 batterymanager 服务而不是 battery。