http://supportforums.blackberry.com/t5/Java-Development/Unable-to-close-camera-using-EventInjector-for-touch-screen/m-p/785247#M143879
So I believe I have found a way to make this work consistently. My issue was not the permissions, as all along I was testing with the proper permissions set (or by prompting hte user to set them). The solution I found is to put a Thread.sleep(500) between the two injected ESCAPE events as follows:
EventInjector.KeyEvent inject = new EventInjector.KeyEvent(EventInjector.KeyEvent.KEY_DOWN, Characters.ESCAPE, 0);
inject.post();
sleep(500);
inject.post();
I'm not exactly sure why this works, and I'm not saying that it's the right way to solve the problem, but it works for me. I tried shorter sleep times but 500ms was the shortest that I could get to consistently work. Also, this didn't work when I used the EventInjector.invokeEvent() method, only with the post() method. Hope this helps some people out.
本文介绍了一种在BlackBerry设备上使用EventInjector关闭相机应用的解决方案。通过在两次注入ESC键事件之间加入500毫秒的延迟,能够稳定地实现关闭相机的功能。此方法仅适用于post()方法。

被折叠的 条评论
为什么被折叠?



