通过ADB拔出设备:"无法找到服务"

时间:2016-08-26 09:08:16

标签: android adb android-6.0-marshmallow android-doze android-doze-and-standby

我必须测试我的应用在打盹模式下的行为方式。根据{{​​3}},我首先必须通过在终端中输入以下命令让设备认为它已被拔掉:

$ adb shell dumpsys battery unplug

然而,没有任何反应并记录:

  

无法找到服务:电池

我该怎么办?

1 个答案:

答案 0 :(得分: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

验证您应该使用 batterymanager 服务而不是电池