stop()和start()主类中的方法在iOS上自动调用

时间:2016-01-11 06:19:20

标签: ios codenameone

我的应用程序连接到Facebook和Parse,它在模拟器和Android上运行良好,但它在iOS上不起作用。

始终自动调用stop()(Display.getCurrent()返回当前表单)和主类的start()方法。这导致我的应用程序(当前形式)以意想不到的方式消失。我认为应用程序崩溃但没有。

当我双击主页按钮时,我可以看到我的应用程序,当我选择时,它会再次启动。任何想法都有帮助吗?

谢谢,威廉

1 个答案:

答案 0 :(得分:1)

当iOS应用崩溃或被杀时,它不会从双击主页按钮时看到的最新应用中删除该应用。它只会在您打开应用程序时重新启动应用程序(应用程序通常会在10分钟内在iOS上被杀,具体取决于应用程序是否使用了任何资源)。

确认您的应用确实没有在iOS上崩溃。从包含start()和stop()方法的类中取消注释崩溃报告器。如果应用程序崩溃,并且您是专业或更高级别的CN1用户,这将向您发送电子邮件。

为了澄清,该类应该与此类似:

private Form current;

public void init(Object context) {
    Display.getInstance().addEdtErrorHandler((evt) -> {
        evt.consume();
        Log.p("Exception in MyApp version " + Display.getInstance().getProperty("AppVersion", "1.0"));
        Log.p("OS " + Display.getInstance().getPlatformName());
        Log.p("Error " + evt.getSource());
        Log.p("Current Form " + Display.getInstance().getCurrent().getName());
        Log.e((Throwable) evt.getSource());
        Log.sendLog();
    });
}

public void start() {
    if (current != null) {
        current.show();
        return;
    }
    new StateMachine("/theme");
}

public void stop() {
    current = Display.getInstance().getCurrent();
}

public void destroy() {
}