Замените клавиатуру BlackBerry программной клавиатурой - PullRequest
0 голосов
/ 07 января 2010

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

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

Заранее спасибо!

1 Ответ

0 голосов
/ 08 января 2010

Я знаю, что мы можем слушать клавиатуру,

Это основная проблема ... видите, в фоновом приложении единственное ключевое событие, которое вы можете обработать, это Keypad.KEY_ESCAPE:
StackOverflow.com - BlackBerry - KeyListener с глобальной областью действия
Технический форум BlackBerry - Форум разработчиков - KeyListener в фоновом режиме
Разработка BlackBerry: Java-разработка: KeyListener в фоновом приложении

но я не уверен, можем ли мы показать что-то на экране, когда другое приложение находится на переднем плане,

Вы можете отобразить глобальный диалог со списком предлагаемых слов:

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 - Имитация события KeyPress

...