Тема слушателя фонового сообщения Blackberry - PullRequest
0 голосов
/ 11 января 2011

Привет всем!Я новичок в программировании BlackBerry, хотя у меня есть некоторый опыт Java, с C # является моим основным языком).

Что я пытаюсь сделать, это написать поток, который будет работать при запуске системыи существовать в фоновом режиме как слушатель.

Я бы хотел, чтобы мое приложение реализовывало KeyListener и в основном сидело в фоновом режиме, когда телефон включен, и отслеживало гистограмму того, сколько раз была нажата каждая кнопка.В настоящее время я работаю на симуляторе, поэтому сейчас я просто собираюсь распечатать его на консоли, когда получит ключ.

Мне удалось реализовать keyListener в UIApplication, но он работает толькопока приложение загружено.

Вот приложение, которое у меня есть в настоящее время

public class CustomApp extends UiApplication
{
    private keyListenerThread listener;
    public stati void main(String[] args)
    {
        CustomApp myApp = new CustomApp();
        myApp.enterEventDispatcher();
    }

    public CustomApp()
    {
        listener = new KeyListenerThread();
        this.addKeyListener(listener)

        //.....other GUI setupthings....

        pushScreen(mainScreen);
    }

    private class KeyListenerThread extends Thread implements KeyListener
    {

        public KeyListenerThread()
        {

        }

        public boolean keyDown(int arg0, int art1)
        {
            System.out.println("button pressed!!");
            }

        //...other keylistener methods
    }

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

РЕДАКТИРОВАТЬ:

Я нашел этот пример, который частично показывает то, что я ищу: http://supportforums.blackberry.com/t5/Java-Development/Allow-a-background-listener-to-detect-and-update-a-GUI/ta-p/442907 Единственная проблема заключается в том, что я делаю это в симуляторе, и я не знаю,как использовать этот код, чтобы я мог отладить, как он работает.Мне сказали, что keylistener не может работать в фоновом режиме, что, к сожалению, потому что его легче всего тестировать.Какие другие слушатели я мог бы настроить таким же образом, чтобы легко протестировать и узнать, как работает код в симуляторе?

Спасибо!
Стефани

1 Ответ

2 голосов
/ 12 января 2011

Вы не можете прослушивать ввод с клавиатуры, трекбола или трекпада , если у вашего приложения нет экрана на переднем плане.

...