我要启动一个按键事件(返回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允许您将关键事件发送到自己的活动。
特别:
Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
看起来像您要找的东西。
编辑:
此代码段向活动窗口发送返回键事件。请注意,不能从主线程调用
sendKeyDownUpSync()
方法。final Instrumentation i = new Instrumentation();
Thread t = new Thread(){
public void run(){
i.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
}
};
t.start();