2

我必须测试我的应用在打盹模式下的行为。根据文档,我首先必须通过在终端中输入以下命令使设备认为它已拔出:

$ adb shell dumpsys battery unplug

但是,什么也没发生,它会记录:

找不到服务:电池

我该怎么办?

4

1 回答 1

9

日志指出没有电池服务(这可能是特定于设备的)。

输入以下命令查找现有的电池相关服务:

$ 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

这验证了您应该使用电池管理器服务而不是电池

于 2016-08-26T09:08:25.297 回答