0

我正在开发一个混合应用程序,我的第一页是androidios. 我将初始 html 页面保留为空白的白色背景,并使用WL.nativePage.showAPI 方法加载本机页面。

我可以转到本机页面,但在启动画面之后,它显示一个白屏,这是我的 HTML 页面一段时间,然后显示本机页面。所以我想避免那个白屏。怎么做?

我显示本机的代码是:

function wlCommonInit() {
     WL.NativePage.show('ProductHomeViewController', backFromNativePage, params);
}
4

1 回答 1

1

这在 Worklight 6.1 中并不容易实现,但可能会在以后的版本中得到改进。

  • 在 Android 中,您可以更改应用程序以您的应用程序启动AndroidManifest.xml的默认设置activity(您为 Native Page 创建的活动)
  • 在 iOS 中,您可以从另一个UIViewController开始CDVMainViewController

以上将有助于拥有一个混合应用程序,它的“起始页”(您在启动图像之后看到的页面)是一个原生页面,但是,这无助于在混合和原生页面之间共享会话(如在你这个问题的答案)。

正在创建一个 Cordova 插件,当原生页面是应用程序的起始页面时,该插件将允许混合页面和原生页面之间的会话共享;它还没有准备好。正如我在顶部所写的,在未来的版本中,所有这些都应该会更好。


要解决评论中的问题:

Hybrid 应用程序还包含与 Native 应用程序相同的 Native API,这意味着一旦您启动应用程序并在启动图像之后导航到本机页面(基于上述),您仍然可以使用相同的本机 API 方法来连接到 Worklight Server、调用 Worklight 适配器等。

问题仍然是在本机 webview 和混合 webview 之间共享 cookie(会话)。

同样,如上所述,正在创建一个 Cordova 插件,当原生页面是应用程序的起始页面时,该插件将允许混合页面和原生页面之间的会话共享;它还没有准备好。在未来的版本中,所有这些都应该会更好。

于 2013-12-24T13:25:10.217 回答