我正在尝试从我从备用入口点开始的后台线程中弹出一个全局对话框。
public static void main(String[] args) {
MyApp theApp = new MyApp();
if (args != null && args.length > 0 && args[0].equals("test")) {
new Thread(new Runnable() {
public void run() {
try {
synchronized (UiApplication.getEventLock()) {
UiEngine ui = Ui.getUiEngine();
Screen screen = new Dialog(Dialog.D_OK, "Test", Dialog.OK,
Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION),
Manager.VERTICAL_SCROLL);
ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_MODAL);
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
}).start();
} else {
theApp.enterEventDispatcher();
}
}
我尝试了很多变化来使其工作,但它仍然没有出现。我试过了
同步Application.getEventLock()
,我也试过
UiApplication.getUiApplication().invokeLater
,
UiApplication.getUiApplication().invokeAndWait
。我什synchronizing the eventlock
至在调用之前先尝试过invokeLater
(我认为这是多余的,但我仍然尝试过......)。我不确定我做错了什么。