PhoneGap - 打开外部应用程序

10

我正在开发一个 PhoneGap 应用程序,
我所需要的就是打开一个外部应用程序。

例如,我的应用命名空间是com.demo.app1,我需要打开com.demo.app2应用程序,
这是可行的吗?

  • 我正在使用 PhoneGap 3.3
  • 我发现有许多版本的 WebIntent 插件
  • 一个例子可能会有所帮助 :)

谢谢


1
对于Android,你可以使用WebIntent插件。至于iOS,我不清楚。 - QuickFix
我该如何使用它通过包名打开一个应用程序? - amd
4个回答

7

非常感谢!这个 https://github.com/lampaa/org.apache.cordova.startapp 对我在 PhoneGap 3.3 上起了作用。 - amd

3

最终找到了我以前使用webintent的旧代码:

   CDV.WEBINTENT.launchActivity("com.demo.app1",
            function() {
                console.log("Activity started");
            },
            function() {
                console.log("Error starting activity");
            }
    );

在PhoneGap 3.x的构建中,有两个不同的WebIntent Git引用,我不知道它们之间的区别(我使用的是第一个): 另一个有用的插件是webavailability插件,它允许您在尝试启动其他应用程序之前知道它是否已安装:https://github.com/ohh2ahh/AppAvailability.git 我停止使用WebIntent,因为我需要能够在已经启动时切换到应用程序而不是重新启动它。
编辑: 哎呀,launchactivity是我添加到插件中的功能...稍后将检查我之前是如何做的。

谢谢,但似乎这不支持PhoneGap 3.3。 - amd
抱歉,我复制链接的速度有点快了。我记得以前用过一个插件,但是现在想不起来使用的网址了。这个插件似乎与3.x版本兼容:https://github.com/lampaa/org.apache.cordova.startapp - QuickFix

1
在iOS中,要打开任何应用程序,您需要知道该应用程序支持哪些URL方案。
例如,您可以通过像“mailto:aaa@bbb.com”这样的网址打开电子邮件编写器。但问题在于,应用程序中可以声明自己的方案。例如,在App1中,您可以声明方案,如“my-app1-scheme”。在您的第二个应用程序中,您需要打开URL“my-app1-scheme://”,然后将打开您的App1。
我刚发现了这个插件,它可以让您以更简单的方式做到这一点:https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

1

最终,我实现了自己的插件,提供以下功能:

  • getUniqueDeviceId(返回唯一设备ID)
  • openApp(打开已安装的应用程序,并在可用时回退到商店)
  • openStore(打开特定应用程序的商店)

http://ahmad-moussawi.github.io/pgutils/

请随意贡献或建议任何其他功能。

@jcesarmobile,我已经添加了iOS支持,除此之外还有openStore备选方案。 - amd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接