別のエントリポイントから開始したバックグラウンドスレッドからグローバルダイアログをポップアップしようとしています。
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
(これは冗長だと思いますが、それでも試しました...)。何が間違っているのかわかりません。