无需按任何键即可启动按键事件

时间:2013-02-19 16:18:32

标签: java android

我希望启动一个键的事件(返回p.e)但不按任何键。我看到onKeyDownonKey等函数,但对于这些函数,我需要一个相应的键事件。

此外,我尝试在此处初始化KeyEvent

KeyEvent telo = new KeyEvent(0,0,0,4,0,0,0,158,72);
onKeyDown(KeyEvent.KEYCODE_BACK, telo);

但它不起作用,可能是因为我不知道downTimeeventTimedeviceId的值。

1 个答案:

答案 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();