根据SIM详细信息关闭Worklight App点击

时间:2014-06-06 07:04:12

标签: javascript cordova ibm-mobilefirst

我正在开发IBM Worklight应用程序,我想在使用下面的代码片段启动我的应用程序之前检查我的SIM卡详细信息:

function wlCommonInit() {   
    WL.Device.getNetworkInfo(function(networkInfo) {
        var NetInfo = (networkInfo.carrierName).toUpperCase();
        var networkState = (navigator.connection.type).toUpperCase();
        var NetInfo = (networkInfo.carrierName).toUpperCase();
        if (NetInfo.indexOf("ANDROID") == -1) {
            alert("Android Network not available");
            WL.App.close();
        }
        if (networkState == "NONE") {
            alert("Data connection not available");
            WL.App.close();
        }
    });
    var collectionNameRegistration = 'Registration';
    registerUserFirst(collectionNameRegistration);
}

目前,如果存在无效SIM或没有数据,应用程序将关闭。问题是,首先看到启动画面一段时间,然后应用程序关闭。

但是在这里,我想在我点击应用程序图标时立即关闭应用程序,如果存在无效SIM或没有数据。 那么我应该在哪里放置此代码段以实现所需的功能。或者还有其他方法吗?请帮帮我。

1 个答案:

答案 0 :(得分:0)

wlCommonInit发布 应用程序启动后加载了Worklight和Cordova框架,因此不适合。

当应用加载时,会出现闪屏......

我认为您所希望的功能存在缺陷 对于用户启动某个应用并暂停关闭某些通知可能意味着该应用只是崩溃了 - 您无法从您的客户群中获得积极的反馈。

为何关闭应用?

  • 使用connectOnStartup: false启动应用,这意味着应用无法在启动时连接到Worklight Server。检查网络并正确通知用户 - 让用户决定他/她是否要关闭应用程序。

如果您想在网络未预设或使用某些不需要的网络的情况下在启动时退出应用程序,则需要在本机代码中执行此操作。

例如,在Android中查看src \ com ... yourApp.java,在onCreate代码周围,您需要使用本机功能来检查您想要的内容并采取相应的行动。

如果您希望在支持的环境中在Worklight中执行此操作,则需要针对本机代码中的每个环境单独执行此操作,或者......重新考虑您正在执行的操作,或者执行此操作就像你现在正在做的那样。