黑莓替代入口点-推送全球屏幕挂起



我正在处理推送通知。当我使用另一个入口点进行推送通知时,设备的屏幕挂起了。但是当我在没有备用入口点的情况下尝试时,没有问题。我如何解决这个问题?

 final UiEngine ui = Ui.getUiEngine();
 Dialog myDialog = new Dialog(Dialog.D_OK_CANCEL, text, Dialog.OK, null, Manager.VERTICAL_SCROLL);
 myDialog.setDialogClosedListener(new MyDialogClosedListener());
 ui.pushGlobalScreen(myDialog, 1, UiEngine.GLOBAL_QUEUE);

尝试以下代码

public static void main(String[] args) {
    if (args.length > 0 && args[0].equals("pus") ){
        theApp = new App();
        theApp.enterEventDispatcher();
    } else { 
        BackgroundApplication backApp=new BackgroundApplication();
        backApp.setupBackgroundApplication();
        backApp.enterEventDispatcher();
    } 
} 

背景应用程序扩展应用程序。

 try{
      final Dialog screen = new Dialog(Dialog.D_OK_CANCEL, "hello",
                    Dialog.OK,
                    null,
                    Manager.VERTICAL_SCROLL);
     final UiEngine ui = Ui.getUiEngine();
     Application.getApplication().invokeAndWait(new Runnable() {
     public void run() {
     NotificationsManager.triggerImmediateEvent(0x749cb23a76c66e2dL, 0, null, null);
     ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE);
        }
       });
     screen.setDialogClosedListener(new MyDialogClosedListener());
       }
     catch (Exception e) {
        // TODO: handle exception
       }

从备用入口点输入时,可能没有在main方法中创建UiApplication实例。

如果是这样的话,Ui.getEngine将返回null。

编辑
使bg应用程序主要进入事件调度器:

    public static void main(String[] args) {
        if (args.length > 0 && args[0].equals("pus") ){
            theApp = new App();
            theApp.enterEventDispatcher();
        } else { 
            BackgroundApplication backApp=new BackgroundApplication();
            backApp.setupBackgroundApplication();
            backApp.enterEventDispatcher();
        } 
    } 

最新更新