Javascript PhoneGap-打开外部应用程序

Javascript PhoneGap-打开外部应用程序,javascript,android,ios,cordova,phonegap-plugins,Javascript,Android,Ios,Cordova,Phonegap Plugins,我正在开发一个PhoneGap应用程序, 我所需要的只是打开一个外部应用程序 e、 g.我的应用程序名称空间是com.demo.app1,我需要打开com.demo.app2应用程序, 这是否可行 我正在使用PhoneGap 3.3 我发现WebIntent插件有很多版本 举个例子可能会有所帮助:) 谢谢当我使用webintent时,终于找到了我的旧代码: CDV.WEBINTENT.launchActivity("com.demo.app1", functio

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

e、 g.我的应用程序名称空间是com.demo.app1,我需要打开com.demo.app2应用程序, 这是否可行

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

谢谢

当我使用webintent时,终于找到了我的旧代码:

   CDV.WEBINTENT.launchActivity("com.demo.app1",
            function() {
                console.log("Activity started");
            },
            function() {
                console.log("Error starting activity");
            }
    );
phonegap 3.x的phonegap build中引用了两个不同的Git for webintent,不知道它们之间有什么区别(第一个就是我使用的Git):

另一个有用的插件是webavailability插件,它可以让您在尝试启动其他应用程序之前知道是否安装了该应用程序:

我停止使用webintent,因为我需要能够切换到已经启动的应用程序,而不是重新启动它

编辑:
再一次,launchactivity是我添加到插件中的一个函数。。。稍后将检查我在此之前的操作。

在iOS中打开任何应用程序,您需要知道此应用程序支持哪些URL方案

例如,您可以通过类似“mailto:aaa@bbb.com". 但问题是,你可以申报你自己的方案。例如,在App1中,您可以喜欢“my-App1-scheme”。在您的第二个应用程序中,您需要打开URL“my-app1-scheme://”,然后将打开您的app1


我刚刚发现了一个插件,它允许您以更简单的方式完成这项工作:

您可以使用以下java代码创建一个插件:

Intent LaunchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage("com.demo.app2");
this.cordova.getActivity().startActivity(LaunchIntent);
或者尝试这两个插件中的任何一个来启动应用程序


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

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


请随时提供或建议任何其他功能。

对于android,您有webintent插件。对于ios,我不知道。我如何使用它按软件包名称打开应用程序?谢谢,但它似乎不支持phonegap 3.3oops。很抱歉,粘贴链接有点太快了。我记得在我必须构建自己的插件之前,我使用过一个插件,但我记不起我使用的url。这一款似乎与3.x兼容。非常感谢!,这在PhoneGap 3上对我有效。3@jcesarmobile,我添加了iOS支持,以及openStore回退功能。