通过 ADB 拔出设备:“找不到服务”

2024-05-19

我必须测试我的应用程序在打瞌睡模式下的行为。根据文档 https://developer.android.com/training/monitoring-device-state/doze-standby.html#testing_doze,我首先必须通过在终端中输入以下命令来使设备认为它已拔出:

$ adb shell dumpsys battery unplug

然而,什么也没有发生,它记录了:

找不到服务:电池

我应该怎么办?


没有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]

要管理电池,您应该使用电池管理器.

$ 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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 ADB 拔出设备:“找不到服务” 的相关文章

随机推荐