【问题标题】:Unplugging the device via ADB: "can't find service"通过 ADB 拔出设备:“找不到服务”
【发布时间】:2016-08-26 09:08:16
【问题描述】:

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

$ adb shell dumpsys battery unplug

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

找不到服务:电池

我该怎么办?

【问题讨论】:

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


    【解决方案1】:

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

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

    $ 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

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 2019-05-06
      • 2015-08-29
      相关资源
      最近更新 更多