如何调试多个充电器 plug/unplug 周期?
How can I debug multiple charger plug/unplug cycles?
我需要在用户插入 phone 的充电器时停止然后启动(重新启动)我的 MainService。为此,我有一个所谓的 GodService,它为 ACTION_BATTERY_CHANGED 意图注册一个接收器,然后我在该 BroadcastReceiver 中重新启动 MainService。
如果有必要,我可以 post 代码,但这似乎工作正常,因为,一旦我开始调试,我就会充电,我可以单步执行并看到 MainService 停止并且重新启动。
我的问题是,我怎样才能连续多次测试它(我需要这样做),因为我必须拔下设备,从而停止我的调试会话。我确定一定有一种方法可以调试充电端口移除,但我一定没有使用正确的术语进行搜索。
您实际上可以通过 ADB 模拟 phone 断开和重新连接。这是相关代码:
之前 Android 6+:
断开USB
$ adb shell dumpsys battery set usb 0
重新连接USB
$ adb shell dumpsys battery set usb 1
对于Android 6+:
断开USB
$ adb shell dumpsys battery unplug
重新连接USB
$ adb shell dumpsys battery reset
编辑:
找到一个关于如何模拟不同电池状态的很好的教程。 https://stanfy.com/blog/android-shell-part-1-mocking-battery-status/
我需要在用户插入 phone 的充电器时停止然后启动(重新启动)我的 MainService。为此,我有一个所谓的 GodService,它为 ACTION_BATTERY_CHANGED 意图注册一个接收器,然后我在该 BroadcastReceiver 中重新启动 MainService。
如果有必要,我可以 post 代码,但这似乎工作正常,因为,一旦我开始调试,我就会充电,我可以单步执行并看到 MainService 停止并且重新启动。
我的问题是,我怎样才能连续多次测试它(我需要这样做),因为我必须拔下设备,从而停止我的调试会话。我确定一定有一种方法可以调试充电端口移除,但我一定没有使用正确的术语进行搜索。
您实际上可以通过 ADB 模拟 phone 断开和重新连接。这是相关代码:
之前 Android 6+:
断开USB
$ adb shell dumpsys battery set usb 0
重新连接USB
$ adb shell dumpsys battery set usb 1
对于Android 6+:
断开USB
$ adb shell dumpsys battery unplug
重新连接USB
$ adb shell dumpsys battery reset
编辑:
找到一个关于如何模拟不同电池状态的很好的教程。 https://stanfy.com/blog/android-shell-part-1-mocking-battery-status/