Я пытаюсь открыть глобальное диалоговое окно из фонового потока, который я начал с альтернативной точки входа.Blackberry global popup
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
(что я считаю излишним, но я все еще пытался ...). Я не уверен, что я делаю неправильно.
Вы пробовали 'ui.pushGlobalScreen (экран, 1, UiEngine.GLOBAL_QUEUE);' – BBdev
http://supportforums.blackberry.com/t5/Java-Development/Create-a-Background-Application/ta-p/ 445226 также проверить эту ссылку – BBdev
да, я пробовал использовать GLOBAL_QUEUE – user1174960