2015-12-28 40 views
2

是否当应用程序使用WL.Client.reloadApp重载wlcommoninit被调用重载wlcommoninit被调用?是否当应用程序使用WL.Client.reloadApp

我在混合应用程序中有一个用户注销功能。注销后,有一个对WL.Client的reloadApp()方法的调用。重新加载后,似乎没有调用wlcommoninit。如果我杀了应用并重新启动它,它确实会被调用。

我们正在使用的版本MobileFirst为7.1。 补充: 中有可能会阻止从wlCommonInit()日志一Cordova.js错误注销+ reloadApp后被称为:

12-28 16:52:18.354: I/chromium(9539): [INFO:CONSOLE(309)] "Error in Success callbackId: App414539960 : Error: Unknown event action undefined", source: file:///android_asset/www/default/worklight/cordova.js (309)

12-28 16:52:18.354: I/chromium(9539): [INFO:CONSOLE(1576)] "Uncaught (in promise) Error: Unknown event action undefined", source: file:///android_asset/www/default/worklight/cordova.js (1576)

回答

0

你不提MobileFirst平台基础是什么版本(或Worklight),但我不确定它在这种情况下真正重要。

我只是测试了7.1,并证实wlCommonInit()其实是在当你重新装入WL.Client.reloadApp的应用程序称为()。

我通过采取样本“你好MobileFirst”应用程序(当你创建一个新的MobileFirst平台的混合应用程序自动创建模板),加入这index.html文件这样做:

<a onClick="WL.Client.reloadApp();">Click Me</a> 

然后加入这里面wlCommonInit():

alert("init"); 

当应用程序首先初始化显示警报,当你点击应用中的“点击我”链接也显示,确认wlCommonInit()是是在这种情况下称为。

我没有尝试这种在任何实际的设备,但我想它在预览公共资源和Android的环境,同时也试图在桌面浏览器的环境中,并得到了相同的结果在所有的三个地方。

如果您可以编辑您的问题以提供更多信息(例如,可能指向您的实际MFP项目的链接,和/或您观察到的导致您相信wlCommonInit()未被调用的情况) ,可以提供更有用的答案。但是,就你提出的具体问题而言 - 是的,当你调用WL.Client.reloadApp()时,wlCommonInit()肯定会被调用。

+1

嗨,帕特,谢谢你澄清。我们已经提出了PMR(26237,756,000)和更多的信息。似乎有一个Cordova.js错误,阻止wlCommonInit()被调用。 –

0

我对我身边的同样的问题,但我觉得这是我的错。我的android/res/xml/config.xml文件已被迁移脚本成功迁移,以包含最新的必需MobileFirst插件,但是我已将其从我的源代码库中排除,因此我没有签入最新版本并仍在使用旧版本在我的应用程序。一旦我手动复制正确迁移的config.xml,一切正常。

您可以验证您的config.xml中包含了所有必需的MobileFirst插件的Android。这是我的示例config.xml,适用于我。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!-- 
Licensed to the Apache Software Foundation (ASF) under one 
or more contributor license agreements. See the NOTICE file 
distributed with this work for additional information 
regarding copyright ownership. The ASF licenses this file 
to you under the Apache License, Version 2.0 (the 
"License"); you may not use this file except in compliance 
with the License. You may obtain a copy of the License at 

http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, 
software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express or implied. See the License for the 
specific language governing permissions and limitations 
under the License. 
--><widget xmlns="http://www.w3.org/ns/widgets" id="PluginDevelopment" version="1.0.0.0"> 
    <name>PluginDevelopment</name> 

    <description> 
     PluginDevelopment 
    </description> 

    <author email="application author's e-mail" href="http://mycompany.com"> 
     application's author 
    </author> 

    <access origin="*"/> 
    <preference name="loglevel" value="DEBUG"/> 
    <!-- 
     <preference name="splashscreen" value="resourceName" /> 
     <preference name="backgroundColor" value="0xFFF" /> 
     <preference name="loadUrlTimeoutValue" value="20000" /> 
     <preference name="InAppBrowserStorageEnabled" value="true" /> 
     <preference name="disallowOverscroll" value="true" /> 
    --> 
    <!-- This is required for native Android hooks --> 
    <feature name="App"> 
     <param name="android-package" value="org.apache.cordova.App"/> 
    </feature> 
    <feature name="Device"> 
     <param name="android-package" value="org.apache.cordova.device.Device"/> 
    </feature> 
    <feature name="Accelerometer"> 
     <param name="android-package" value="org.apache.cordova.devicemotion.AccelListener"/> 
    </feature> 
    <feature name="Compass"> 
     <param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener"/> 
    </feature> 
    <feature name="Media"> 
     <param name="android-package" value="org.apache.cordova.media.AudioHandler"/> 
    </feature>   
    <feature name="Camera"> 
     <param name="android-package" value="org.apache.cordova.camera.CameraLauncher"/> 
    </feature> 
    <feature name="Contacts"> 
     <param name="android-package" value="org.apache.cordova.contacts.ContactManager"/> 
    </feature> 
    <feature name="File"> 
     <param name="android-package" value="org.apache.cordova.file.FileUtils"/> 
    </feature> 
    <feature name="Notification"> 
     <param name="android-package" value="org.apache.cordova.dialogs.Notification"/> 
    </feature>  
    <feature name="FileTransfer"> 
     <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer"/> 
    </feature> 
    <feature name="Capture"> 
     <param name="android-package" value="org.apache.cordova.mediacapture.Capture"/> 
    </feature> 
    <feature name="Battery"> 
     <param name="android-package" value="org.apache.cordova.batterystatus.BatteryListener"/> 
    </feature> 
    <feature name="SplashScreen"> 
     <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/> 
    </feature> 
    <feature name="Globalization"> 
     <param name="android-package" value="org.apache.cordova.globalization.Globalization"/> 
    </feature> 
    <feature name="InAppBrowser"> 
     <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/> 
    </feature>  
    <feature name="Vibration"> 
     <param name="android-package" value="org.apache.cordova.vibration.Vibration"/> 
    </feature> 

<feature name="WLInitializationPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLInitializationPlugin"/> 
     <param name="onload" value="true"/> 
    </feature> 
    <feature name="UserAuth"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.UserAuthPlugin"/> 
     <param name="onload" value="false"/> 
    </feature> 
    <feature name="LoggerPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.LoggerPlugin"/> 
    </feature> 
    <feature name="WLApp"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLApp"/> 
    </feature> 
    <feature name="NativePage"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.NativePage"/> 
    </feature> 
    <feature name="NativeBusyIndicator"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.BusyIndicator"/> 
    </feature> 
    <feature name="SecurityPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.SecurityPlugin"/> 
    </feature> 
    <feature name="StoragePlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.StoragePlugin"/> 
    </feature> 
    <feature name="Push"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.Push"/> 
    </feature> 
    <feature name="WebResourcesDownloader"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WebResourcesDownloaderPlugin"/> 
    </feature> 
    <feature name="WLDirectUpdatePlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLDirectUpdatePlugin"/> 
    </feature> 
    <feature name="NetworkDetector"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.NetworkDetector"/> 
    </feature> 
    <feature name="DeviceAuth"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.DeviceAuthPlugin"/> 
    </feature> 
    <feature name="WifiPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WifiPlugin"/> 
    </feature> 
    <feature name="WLGeolocationPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLGeolocationPlugin"/> 
    </feature> 
    <feature name="ForegroundBinderPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.ForegroundBinderPlugin"/> 
    </feature> 
    <feature name="FIPSHttpPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.FIPSHttpPlugin"/> 
    </feature> 
    <feature name="WLCustomDialog"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLCustomDialog"/> 
    </feature> 
    <feature name="NetworkStatus"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLNetworkManager"/> 
    </feature> 
    <feature name="WLSplashScreen"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLSplashScreenPlugin"/> 
    </feature> 
    <feature name="WLNativeXHRPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLNativeXHRPlugin"/> 
    </feature> 
    <feature name="WLActionSenderPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLActionSenderPlugin"/> 
    </feature> 
    <feature name="StatusBar"> 
     <param name="android-package" value="org.apache.cordova.statusbar.StatusBar"/> 
    </feature> 
    <feature name="WLAuthorizationManagerPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLAuthorizationManagerPlugin"/> 
    </feature> 
    <feature name="WLCertificatePinningPlugin"> 
     <param name="android-package" value="com.worklight.androidgap.plugin.WLCertificatePinningPlugin"/> 
    </feature 
</widget> 
+0

我还注意到通过进一步测试,如果您的应用未部署到MobileFirst Development Server进行测试,则会出现此错误。确保你也部署了你的应用程序。我们曾经为这种情况获得了更好的错误消息,但也很好解决这个问题。 –

相关问题