Android 设备中 Worklight 混合应用程序中的 Inappbrowser 问题

Posted

技术标签:

【中文标题】Android 设备中 Worklight 混合应用程序中的 Inappbrowser 问题【英文标题】:Inappbrowser issue in worklight hybrid application in android devices 【发布时间】:2014-08-03 21:44:41 【问题描述】:

我已经为 android 创建了 worklight 6.2 混合应用程序,其中当用户单击一个按钮时,它必须打开一个带有外部 url 的 Inappbrowser。以下是我在单击按钮时使用的代码:

$("#inapp").click(function()
    window.open("https://xxxx.com","_blank","location=yes");
);

当我单击按钮时,应用程序会通过显示一个带有错误消息的弹出窗口关闭:

不幸的是,sampleApp 停止了

这仅在安卓设备中发生,在 ios 中运行正常。

【问题讨论】:

感谢您的报告。现在它看起来像是 Worklight 6.2 中的一个缺陷,正在调查中。我会告诉你情况如何。 谢谢,我会等待您的回复。同时,我们有任何解决方案来解决这个问题,因为我本周发布了我的应用程序。 【参考方案1】:

这是一个缺少资源的已知问题。当前的解决方法是使用 Cordova 命令行界面创建独立的 Cordova 3.4 Android 应用程序。

这不会替代您的 Worklight 应用程序 - 它将允许您生成缺少的资源。

解决方法说明:

--> Android 平台指南: http://cordova.apache.org/docs/en/3.4.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide

在“要求和支持”部分,按照步骤将 Android SDK 的工具和平台工具目录包含在您的 PATH 环境中并启用 Java 和 Ant。

--> 命令行界面: http://cordova.apache.org/docs/en/3.4.0/guide_cli_index.md.html#Plugin%20Development%0AGuide

按照“先决条件”下的步骤,然后执行以下命令:

cordova create hello com.example.hello "HelloWorld"
cd hello
cordova platform add android
cordova plugin add org.apache.cordova.inappbrowser
cordova build

--> Android 平台指南:按照“在 SDK 中打开项目”中的步骤进行操作

现在您可以导航到所需的文件,这些文件位于: \hello\platforms\android\res\drawable-hdpi

将 3 个 ic_action PNG 文件复制到 Worklight 6.2 项目的 \native\res\drawable-hdpi 目录中:

ic_action_next_item.png ic_action_previous_item.png ic_action_remove.png

这应该可以解决问题并允许应用程序成功运行。

这里是关于这个问题的技术说明:http://www-01.ibm.com/support/docview.wss?uid=swg21681060

【讨论】:

以上是关于Android 设备中 Worklight 混合应用程序中的 Inappbrowser 问题的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 6.2:成功发送标签推送通知,但在 android 设备上未收到

Worklight 5.0.6 - 混合应用程序在不同 Android 手机中的意外行为

IBM Worklight - 如何启动另一个应用程序?

IBM Worklight 6.1 - 如何提供可访问性支持

当您在 ios 设备中打开 Voice Over,并且无法在 worklight 混合应用程序中滚动时,有没有人遇到过这种情况?

Worklight 6.0 - 如何使用 dojo 1.9 和 worklight 6.0 为 android 2.2 创建和部署 dojo 启用 worklight 混合应用程序