UiAutomator长按电源按钮

时间:2016-06-19 15:52:52

标签: android adb uiautomator

如何长按电源按钮(KeyEvent 26)以获取UiAutomator的电源菜单?

3 个答案:

答案 0 :(得分:0)

下面是长按主页按钮解决方案,它可以工作。也许你可以尝试使用电源KeyCode而不是mDevice.pressHome()。

public void longPressHome(){
    long timeout = Configurator.getInstance().getActionAcknowledgmentTimeout();
    Configurator.getInstance().setActionAcknowledgmentTimeout(0);
    mDevice.pressHome();
    mDevice.pressHome();
    Configurator.getInstance().setActionAcknowledgmentTimeout(timeout);
}

答案 1 :(得分:0)

我通过反射解决了这个问题

Class<?> clazz = mDevice.getClass();
Method getUiAutomation = clazz.getDeclaredMethod("getUiAutomation");
getUiAutomation.setAccessible(true);

((UiAutomation) getUiAutomation.invoke(mDevice)).performGlobalAction(GLOBAL_ACTION_POWER_DIALOG);

答案 2 :(得分:-1)

解决这个问题 - 请尝试使用此工具。Android Record N Play 。长按录制电源按钮。并使用该工具运行。或者将xxx.mes文件推送到手机并运行adb shell sh xxx.mes以单独运行。 我在Galaxy s6上测试过,它运行正常。如果你遇到任何问题,请在这里评论。我可以解决这个问题。

你可以从uiautomator调用adb shell sh comamnd。