Альтернативная точка входа запускается 2 раза при доступе к моему приложению на Blackberry?

У меня есть альтернативная точка входа, настроенная на автоматический запуск, чтобы активировать диалог с определенным временем; Он работает успешно. Альтернативная точка входа будет автоматически запускаться при включении устройства, как и ожидалось. Однако, когда я запускаю свое приложение в интерактивном режиме, диалоговое окно отображается дважды. Как я могу предотвратить это?

public static void main(String[] args) {
    if ( args != null && args.length > 0 && args[0].equals("autorun")) {
        MyApp theApp = new MyApp();
        theApp.enterEventDispatcher();  
    } else {
        MyApp theApp = new MyApp();
        theApp.pushScreen(new MyScreen());
        theApp.enterEventDispatcher();
    }
}   

public MyApp() {
    this.addRealtimeClockListener(this);
}  

public void clockUpdated() {
    checkTimetoPushDialog();
}

person Cong Binh    schedule 05.10.2011    source источник


Ответы (1)


Итак, если я правильно понимаю, clockUpdated вызывается как часть прослушивателя часов реального времени. Прослушиватель добавляется при создании MyApp, а MyApp создается как для основного, так и для фонового приложения.

Поэтому неудивительно, что диалоговое окно отображается как для основного, так и для фонового приложения.

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

person Michael Donohue    schedule 05.10.2011
comment
Спасибо, Майкл, я не могу сделать уведомление без вызова clockUpdated(); - person Cong Binh; 05.10.2011