我有一个备用入口点设置为自动运行以推送具有特定时间的对话框; 它运行成功。正如预期的那样,备用入口点将在设备开启时自动运行。但是,当我以交互方式运行我的应用程序时,对话框显示两次。我该如何防止这种情况?
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();
}
答案 0 :(得分:1)
因此,如果我理解正确,则会调用clockUpdated作为实时时钟侦听器的一部分。构建MyApp时添加侦听器,并为前台应用程序和后台应用程序构建MyApp。
因此,前景和后台应用程序都会推送对话框并不令人惊讶。
如果您不希望在用户启动应用程序时看到对话框,请避免在不是自动启动过程时添加侦听器。