我正在开发一个PhoneGap应用程序, 我需要的只是打开一个外部应用程序。
e.g。我的app命名空间是 com.demo.app1 ,我需要打开 com.demo.app2 应用程序, 这可行吗?
由于
答案 0 :(得分:7)
您可以使用以下java代码创建插件:
Intent LaunchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage("com.demo.app2");
this.cordova.getActivity().startActivity(LaunchIntent);
或试用这2个插件中的任何一个来启动应用
答案 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)
最后,我实现了自己的插件,提供以下内容:
http://ahmad-moussawi.github.io/pgutils/
请随时提供或建议任何其他功能。