2010-01-07 52 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