我希望启动一个键的事件(返回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
的值。
答案 0 :(得分:1)
如果您希望执行此操作以进行测试。 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();