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

Posted

技术标签:

【中文标题】IBM Worklight - 如何启动另一个应用程序?【英文标题】:IBM Worklight - How to launch another app? 【发布时间】:2013-12-16 13:37:33 【问题描述】:

当在设备浏览器中请求混合应用程序时,我需要打开混合应用程序的本机版本 (.ipa/.apk/.appx)。

我可以使用WL.Client.getEnvironment(); 方法检测环境,如果发现是android/iPad,我想在设备中启动相应的.apk/.ipa 文件。任何帮助表示赞赏。

【问题讨论】:

我明白你在问什么,但这个场景对我来说很奇怪。您的设备上安装了 Worklight Hybrid 应用程序以及一些本机应用程序,并且您想在“在设备 Web 浏览器中请求”混合应用程序时打开本机应用程序?我不明白这一点。请改写问题。 您的意思是您在混合应用程序中,并且您想在应用程序中通过单击按钮或链接来启动另一个应用程序? @IdanAdar:是的,这个混合应用程序针对 iPad、Android 和 Windows 平板电脑和桌面版本。我们希望限制用户在设备浏览器中访问应用程序并强制用户启动设备上安装的相同应用程序 如果它是一个混合应用程序,他们为什么以及如何从浏览器中打开它?听起来您在谈论移动网络应用程序。请说清楚你在说什么。 如何在设备浏览器中重新验证混合应用程序?解释场景。 【参考方案1】:

把这个问题和cmets重读了好几遍……我还是不明白实际情况……最好改写一下。


场景:如何从网络浏览器打开应用:

如果您已将以下环境添加到您的 Worklight 应用程序:

移动网络 安卓 iPhone

当您访问移动网络版应用时,您希望显示一条消息,例如“要获得完整体验,请单击此处打开完整应用”。

然后:

    暗示用户已经安装了应用程序。 如果未安装,您需要以某种方式处理它

处理这种情况的方法是使用 URI 模式

对于安卓:How to implement my very own URI scheme on Android

这意味着在将自定义 URI 架构添加到 AndroidManifest.xml 后,您可以检测移动 Web 应用当前运行的设备操作系统并显示自定义链接:myapp://<the URI schema you've defined>。点击它会打开设备上安装的应用程序。

对于 ios,以类似方式:https://coderwall.com/p/mtjaeq

另见:http://wiki.akosma.com/IPhone_URL_Schemes

替代解决方案:如果您不确定是否会安装应用程序,那么您可以始终指向 Google Play 或 Apple App Store,而不是使用 URI 架构,指向应用程序页面;然后,用户将获得“打开”或“安装”链接。

场景:如何从我自己的应用中打开应用

如果您有一个 Worklight Hybrid 应用程序(Mobile Web不是一个混合应用程序),并且您想从其中打开另一个应用程序,您可以:

    使用与 URI 架构相同的方法,或者 使用Cordova plug-ins

我创建了this Worklight 6.1.0 project to demonstrate:

Android - 例如,如何从 Worklight Hybrid 应用程序打开 Android 设置应用程序 iOS - 如何检查 Waze 是否已安装并打开,如果未安装则打开 Apple 地图。 请参阅 apps\test 文件夹中的 instructions.txt。

【讨论】:

使用 URL Schemes 是正确的方法,但是 worklight 中没有内置的方法来使用开放 url 方案或编写插件是唯一的方法吗?我试过 Wl.openURL('fb:');但它没有用。 没有。在写这个答案时,我认为这可能是一个很好的功能请求。随时将此作为功能请求提交,在这里:ibm.com/developerworks/community/forums/html/… 做了同样的ibm.com/developerworks/rfe/…,如果没问题请告诉我。 没关系。这并不能保证现在或根本不会实施。感谢提交。【参考方案2】:

您是否问如果用户通过他们的设备浏览器在互联网上点击您应用的 webapp 版本,网站会要求用户在他们的设备上启动本机应用?有点像易趣做什么? 如果这是您想要的,请查看这些页面

机器人:Launch custom android application from android browser

IOS: iPhone - Open Application from Web Page

【讨论】:

以上是关于IBM Worklight - 如何启动另一个应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight - 应用服务器启动时的初始化

IBM Worklight - 应用 FixPack 后,应用程序在启动屏幕上挂起

如何在 ibm worklight 混合移动应用程序中处理客户端会话超时

IBM Worklight 6.0 - iOS 应用程序总是停留在第二次启动

IBM worklight - 从另一个 html 文件调用 worklight 适配器

如何在 IBM Worklight 6.0 中实现 OAUTH 2.0