IBM Worklight / Cordova无法在Android上的Worklight中加载嵌入式WebView

时间:2013-05-03 15:50:53

标签: webview cordova ibm-mobilefirst

我尝试创建一个混合Worklight应用程序来聚合多个外部Portal页面。有一个标签栏,标签栏中的每个视图都会加载自己的WebView以显示不同的Portal页面。这工作正常,我已经运行了一切,但Worklight没有在Webview中加载。我想访问Cordova功能,如Portal页面中的摄像头。

当我直接在主Webview中加载Portal页面时,Worklight初始化正常,但它不会加载到嵌入式Webview中,即所有必需的Worklight文件都在那里,并且Portal页面设置正确。

我增强了这个例子:
http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v506/09_06_Integrating_server_generated_pages_in_Worklight_applications.pdf

这是代码的重要部分:

webViewOverlay = new WebView(this);
webViewOverlay.setWebViewClient(webViewClient);
webViewOverlay.setWebChromeClient(new WebChromeClient());
webViewOverlay.getSettings().setJavaScriptEnabled(true);
webViewOverlay.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webViewOverlay.clearCache(true);
webViewOverlay.loadData(""http://mymielke.de/test/portal/test.html"", "text/html", "UTF-8");

1 个答案:

答案 0 :(得分:0)

至少从阅读你的文字,听起来 - 对我来说 - 就像你想要完成的一样,就像你基于它的样本一样?

该示例是一个带有三个选项卡的Worklight Hybrid应用程序,前两个选项卡只是加载一些在应用程序中隐藏的HTML和JavaScript资源(因此位于Worklight实例中,可以使用应用程序中包含的任何内容,包括PhoneGap功能),第三个选项卡是加载外部网站的WebView Overlay。

如果此外部网站想要使用PhoneGap访问设备功能,则PhoneGap需要位于外部服务器中托管的网站的本地;此外部网站将无法使用Worklight提供的功能(包括PhoneGap)。

但是,那么你写道:

  

当我直接在中加载Portal页面时,Worklight初始化正常   掌握Webview,但它不会加载到嵌入式Webview中,即全部   有必要的Worklight文件,并设置了Portal页面   右。

“那里”在哪里?在外部服务器上? Worklight没有理由以这种方式运行,因为它不在Worklight应用程序范围内。您不能指望在同一个应用程序中安装“多个”Worklight应用程序,所谓的远程(?)。 (好吧,你可以期待它,如果你想:),但它不会那样工作......)

我理解正确吗?如果没有,请随时编辑您的问题并使其更清晰。