【问题标题】:PhoneGap - Open external applicationPhoneGap - 打开外部应用程序
【发布时间】:2014-04-05 18:08:04
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 对于 android 你有 webintent 插件。对于ios我不知道。
  • 如何通过包名打开应用?

标签: javascript android ios cordova phonegap-plugins


【解决方案1】:

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

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

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

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

【讨论】:

  • @jcesarmobile,除了 openStore 后备之外,我还添加了 iOS 支持。
【解决方案2】:

你可以用这个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

【讨论】:

【解决方案3】:

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

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

phonegap 3.x 的 phonegap 构建中引用了两个不同的 webintent git,不知道有什么区别(第一个是我使用的那个):

另一个有用的插件是 webavailability 插件,它可以让您在尝试启动之前知道是否安装了其他应用程序:https://github.com/ohh2ahh/AppAvailability.git

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

编辑: 再次糟糕,launchactivity 是我添加到插件中的一个功能...稍后会检查我在此之前的表现。

【讨论】:

  • 谢谢,不过好像不支持phonegap 3.3
  • 哎呀,有点抱歉粘贴链接太快了。我记得我在自己构建之前使用过一个插件,但不记得我使用的 url。这个似乎与 3.x 兼容:github.com/lampaa/org.apache.cordova.startapp
【解决方案4】:

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

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

我刚刚发现这个插件可以让你以更简单的方式做到这一点:https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    相关资源
    最近更新 更多