2010-01-07 2 views
0

Есть ли способ вмешаться между входом клавиатуры Blackberry и ключевыми событиями, которые достигают приложения переднего плана? т.е. то, что мы хотим сделать, это построить интеллектуальную клавиатурную функциональность, которая будет использоваться в любом приложении, которое требует ввода клавиатуры (например, текстовые поля, электронные письма и т. д.), поэтому нам необходимо: 1) получить нажатые клавиши 2) present несколько возможных прогнозов на экране 3.a) пользователь выбирает предсказанное слово, нажимая на него или 3.b) продолжает писатьЗамените клавиатуру Blackberry на клавиатуру программного обеспечения

Есть ли способ сделать это на Blackberry? Я знаю, что мы можем слушать клавиатуру, но я не уверен, можем ли мы показать что-то на экране, пока другое приложение находится на переднем плане, и как сообщить приложению, чтобы получить предсказанное слово, которое выбрал пользователь.

Заранее благодарен!

ответ

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

Смежные вопросы