PhoneGap - 打开外部应用程序

时间:2014-03-04 09:36:44

标签: javascript android ios cordova phonegap-plugins

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

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

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

由于

4 个答案:

答案 0 :(得分:7)

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

Intent LaunchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage("com.demo.app2");
this.cordova.getActivity().startActivity(LaunchIntent);

或试用这2个插件中的任何一个来启动应用

https://github.com/lampaa/org.apache.cordova.startapp

https://github.com/dmedvinsky/cordova-startapp

答案 1 :(得分:3)

最后找到了我使用webintent时的旧代码:

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

对于phonegap 3.x的phonegap构建中引用的webintent有两种不同的gits,不知道差异是什么(第一种是我正在使用的那种):

另一个有用的插件是网络可用性插件,可让您知道在尝试启动其他应用之前是否已安装其他应用:https://github.com/ohh2ahh/AppAvailability.git

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

编辑: 哎呀,启动性是我添加到插件中的一个功能......稍后会检查我之前的做法。

答案 2 :(得分:1)

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

例如,您可以通过url打开电子邮件编写器,如“mailto:aaa@bbb.com”。但事情是在应用程序中,您可以声明自己的方案。例如,在App1中,您可以declare scheme喜欢“my-app1-scheme”。在您的第二个应用程序中,您需要打开URL“my-app1-scheme://”,您的App1将被打开。

我刚刚发现这个插件允许你以更简单的方式执行此操作:https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

答案 3 :(得分:1)

最后,我实现了自己的插件,提供以下内容:

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

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

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