2010-01-07 2 views
0

Y a-t-il un moyen d'interférer entre l'entrée du clavier Blackberry et les événements clés qui atteignent l'application de premier plan? ce que nous voulons faire est de construire une fonctionnalité de clavier prédictive à utiliser sur toute application nécessitant une saisie au clavier (comme des zones de texte, des courriels, etc.), donc nous devons: 1) obtenir les touches qui sont pressées 2) présent quelques prédictions possibles sur l'écran 3.a), l'utilisateur choisit le mot prédit en cliquant dessus ou 3.b) ne cesse d'écrireRemplacer le clavier BlackBerry avec un clavier logiciel

Est-il possible de le faire sur Blackberry? Je sais que nous pouvons écouter le clavier, mais je ne suis pas sûr si nous pouvons montrer quelque chose à l'écran alors qu'une autre application est au premier plan, et comment dire à l'application d'obtenir le mot prédit que l'utilisateur a choisi.

Merci d'avance!

Répondre

0

Je sais que nous pouvons écouter le clavier,

C'est le principal problème ... vous voyez, en application de fond le seul événement clé que vous pouvez gérer est 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

mais je ne suis pas sûr que nous pouvons montrer quelque chose sur l'écran pendant qu'une autre application est au premier plan,

Vous pouvez afficher de dialogue global avec la liste des mots de suggestion:

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); 
    } 
} 

et comment dire à l'application pour obtenir le mot prédit l'utilisateur choisi.

Peut être atteint par des injections d'événement: BlackBerry - Simulate a KeyPress event

Questions connexes