gpt4 book ai didi

Android:有没有办法模拟方向键事件(API 10)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:00:55 26 4
gpt4 key购买 nike

问题很简单。我必须模拟 dpad 事件(上、下、右、左、中心),以便在我的 GUI 中导航,该 GUI 由许多按钮和其他元素组成。使用模拟器 D-Pad,我可以在没有行代码的情况下导航抛出此 GUI。但我如何以编程方式执行此操作?

我试了很多都没有成功:

  • KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_DPAD_LEFT);
    View.dispatchKeyEvent(事件);
    没有任何反应(焦点应该向右移动一个元素)

  • 我也阅读了很多有关 windowManager.injectKeyEvent 的内容,但没有发现任何有用的东西。

  • Instrumentation 还可以帮助模拟按键事件,但更多的是用于测试,而不是用于应用程序本身。

我认为有一个解决方案,因为对讲可以模拟物理方向键(http://code.google.com/p/eyes-free/source/browse/trunk/ime/latinime/src/com/googlecode/eyesfree/inputmethod/latin/LatinIME.java)

最佳答案

给定

InputConnection ic = getCurrentInputConnection();

您可以通过模拟 DPAD 向下/向上事件在 EditText 中移动光标。 up 事件可能就足够了,但为了安全起见,我正在模拟整个事件。

ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT));
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT));

ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT));
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT));

向上

ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP));
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_UP));

向下

ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN));
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_DOWN));

关于Android:有没有办法模拟方向键事件(API 10)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8568343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com