2010-01-07 51 views
0

有没有办法干扰黑莓键盘输入和到达前台应用程序的关键事件?即我们想要做的是构建一个预测键盘功能,以用于需要键盘输入的任何应用程序(如文本框,电子邮件等),所以我们需要: 1)获取按下的键 2)在屏幕上的几个可能的预测 3.a)用户通过点击它或 选择预测词3.b)继续写用软件键盘替换黑莓键盘

有没有办法在黑莓上做到这一点?我知道我们可以听键盘,但我不确定我们是否可以在另一个应用程序处于前台时在屏幕上显示某些内容,以及如何告诉应用程序获取用户选择的预测词。

在此先感谢!

回答

0

我知道我们可以听键盘,

这是主要的问题......你看,在后台的应用程序,你可以处理唯一的关键事件是Keypad.KEY_ESCAPE
StackOverflow.com - BlackBerry - KeyListener with global scope
BlackBerry Technical - Developer Forum - KeyListener in Background
BlackBerry Development:Java Development:KeyListener in Background App

,但我不肯定我们是否能在屏幕上显示的东西,而另一个应用是在前台,

可以显示全球对话与建议词表:

private void showMessage(String message) { 
    synchronized (Application.getEventLock()) { 
     Dialog dlg = new Dialog(Dialog.D_OK, message, 
         Dialog.OK, null, Manager.FIELD_HCENTER); 
     Ui.getUiEngine() 
         .pushGlobalScreen(dlg, 1, UiEngine.GLOBAL_QUEUE); 
    } 
} 

,如何告诉应用程序获得用户选择的预测词。

可以通过注射事件来实现:BlackBerry - Simulate a KeyPress event