我想启动按键事件(back p.e),但不按任何键。我看到了诸如 onKeyDown
或 onKey
之类的函数,但对于这些函数,我需要相应的按键事件。
我还尝试初始化一个KeyEvent
,如下所示:
KeyEvent telo = new KeyEvent(0,0,0,4,0,0,0,158,72);
onKeyDown(KeyEvent.KEYCODE_BACK, telo);
但它不起作用,可能是因为我不知道 downTime
、eventTime
和 deviceId
的值。
最佳答案
如果您出于测试目的而希望这样做。 Instrumentation API 允许您将关键事件发送到您自己的 Activity 。
具体来说:
Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
似乎是您正在寻找的内容。
编辑:
此代码 fragment 将后退键事件发送到 Activity 窗口。请注意,无法从主线程调用 sendKeyDownUpSync()
方法。
final Instrumentation i = new Instrumentation();
Thread t = new Thread(){
public void run(){
i.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
}
};
t.start();
关于java - 无需按任何键即可启动按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962218/