1

プッシュ通知に取り組んでいます。プッシュ通知に代替エントリポイントを使用すると、デバイスの画面がハングしますが、代替エントリポイントなしで試した場合は問題ありません。この問題を解決するにはどうすればよいですか?

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

2 に答える 2

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はApplicationを拡張します。

 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
       }
于 2012-07-18T10:51:09.227 に答える
0

mainおそらく、代替エントリポイントから入力するときに、メソッドにUiApplicationインスタンスを作成していません。

このような場合、Ui.getEnginenullを返します。

編集
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();
        } 
    } 
于 2012-07-18T06:09:55.090 に答える