Как всегда проверять время на Blackberry? - PullRequest
0 голосов
/ 11 сентября 2011

Я создаю альтернативную точку входа, которая отображает диалоговое окно «Здравствуйте, новая неделя» в первый день каждой недели.

Мой код:

public static void main(String[] args)
    {
        if ( args != null && args.length > 0 && args[0].equals("autorun") ){

             MyApp theApp = new MyApp();
             theApp.pushThread.start();
             theApp.enterEventDispatcher(); 
       } 
        else {       
            MyApp theApp = new MyApp();
            theApp.pushScreen(new MyScreen());
            theApp.enterEventDispatcher();
       }        
    }


    Thread pushThread = new Thread(){
        public void run() {
            if(get_DayOfWeek().startsWith("Mon"))
            showMessage("Hello New Week ");

        }   
    };
    private void showMessage(String data) {
          UiEngine ui = Ui.getUiEngine();
          Screen screen = new Dialog(Dialog.D_OK, data, Dialog.OK,
            Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION),
            Manager.VERTICAL_SCROLL);
          ui.queueStatus(screen, 1, true);
        }

Если сегодня понедельник, будет отображаться диалог. Но если сегодня воскресенье, оно не будет отображаться завтра. Я хочу всегда проверять время, но мой код проверять только один раз. Я отвечаю

public void run() {
                if(get_DayOfWeek().startsWith("Mon"))
                showMessage("Hello New Week ");

            }

по

public void run() {
                    while (get_DayOfWeek() != null){
                        if(get_DayOfWeek().startsWith("Sun"))
                            showMessage("Hello New Day ");
                        }

                }

но там говорилось "Неучастное исключение, мои уведомления не отвечают, процесс завершен" Может ли кто-нибудь помочь мне найти способ всегда проверять время?

1 Ответ

1 голос
/ 11 сентября 2011

Это довольно просто.

Реализация RealtimeClockListener и использование его в вашем приложении.В вашей реализации будет метод clockUpdated () .Операционная система BlackBerry будет вызывать этот метод каждую минуту.

Используйте System.currentTimeMillis() в этом методе для получения текущего времени и используйте класс Calendar для вычисления текущего дня недели.

Вот и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...