【问题标题】:Unable to run worklight application without internet connection无法在没有 Internet 连接的情况下运行 Worklight 应用程序
【发布时间】:2015-05-11 10:30:55
【问题描述】:

在没有启用 wifi 或移动数据连接的情况下运行 worklight 应用程序时遇到了一个大问题。应用程序启动然后退出,我需要进入主屏幕然后执行一些逻辑。在这种情况下,永远不会调用
wlCommonInit。我调试了应用程序,发现有些东西正在发送消息“onMessage(exit,null)”,然后调用 onDestroy()

重现步骤: - 关闭 wifi 和移动数据并启动应用程序

使用环境:
- 工作灯 6.2
- 安卓

【问题讨论】:

  • 您没有解释您在应用程序中所做的事情:它是否在启动时尝试连接到服务器,如果是,那么如何。简而言之 - 提供可以调试的东西。
  • 在本机中,我在 onCreate() 中执行类似操作:WL.createInstance(this); WL.getInstance().showSplashScreen(this); WL.getInstance().initializeWebFramework(getApplicationContext(), this); if (result.getStatusCode() == WLInitWebFrameworkResult.SUCCESS) { super.loadUrl(WL.getInstance().getMainHtmlFilePath()); // Custom webView this.appView.setWebViewClient(makeWebViewClient(appView)); } 在 js 中,我尝试像这样连接:WL.Client.connect({ onSuccess: wlInitSuccess, onFailure: wlInitFailure}); 在 loadUrl 调用后应用程序转到 onDestroy
  • 同样,如果您可以提供一个可以重现此问题的示例应用程序(不一定是您的特定应用程序),那么调试起来会更容易。同时提及reproduction steps。 -- 请不要使用 cmets,您有问题的编辑按钮
  • 请提供你的js代码。
  • @Mo.Ashfaq js 代码到底需要什么

标签: android ibm-mobilefirst


【解决方案1】:

在 Worklight 6.2.0.01 中,我使用 Android 环境创建了一个新的混合应用程序。

此应用程序执行以下操作。该应用程序安装在运行 Android OS 5 的 Android Nexus 5 设备中。该设备设置为飞行模式(无 WiFi,无 3G)。在启动应用程序时,onFailure 函数被调用,正如预期的那样。没有崩溃。

提供您的实现,以便对其进行调试。

function wlCommonInit(){
    WL.Client.connect({onSuccess: success, onFailure: failure});    
}

function success() {
    alert ("success");
}

function failure() {
    alert ("failure");
}

【讨论】:

  • 我也创建了一个新项目并在 飞行模式 下启动它,并且 onFailure 事件正如你所说的那样被触发,但在我的应用程序不是。 适配器是否可能对这种行为负责,因为我没有看到与新创建的应用程序和我的应用程序有很多差异......
  • 适配器也不应该导致崩溃。我们已经问过你好几次了 - 为你提供一个崩溃的项目。
  • 我比较了新创建的应用程序和我的应用程序,我看到了这种行为的原因。这是我的代码... 10x
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2018-04-18
  • 2023-03-08
  • 2016-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多