【问题标题】:Blackberry Alternate Entry point - Push Global Screen Hangs黑莓备用入口点 - 推送全局屏幕挂起
【发布时间】:2012-07-18 05:24:52
【问题描述】:

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

 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);

【问题讨论】:

    标签: blackberry push-notification


    【解决方案1】:

    试试下面的代码

    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();
        } 
    } 
    

    BackgroundApplication 扩展应用程序。

     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
           }
    

    【讨论】:

      【解决方案2】:

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

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

      编辑
      让 bg 应用在 main 中进入事件调度器:

          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();
              } 
          } 
      

      【讨论】:

      • 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(); } }
      • 我正在创建这样的应用程序。现在我该怎么办?我是黑莓的初学者。所以请..
      • BackgroundApplication 扩展自哪个类?
      • 反对者:请解释。我所说的很有道理,我过去也遇到过这种问题。我认为没有理由投反对票。您也可以发布自己的问题。
      • @Smith -BackgroundApplication 扩展自 Application。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多