web-dev-qa-db-ja.com

PhoneGap-外部アプリケーションを開く

PhoneGapアプリを開発しています。必要なのは、外部アプリケーションを開くことだけです。

例えば私のアプリの名前空間はcom.demo.app1であり、com.demo.app2アプリケーションを開く必要があります。これは実行可能ですか?

  • PhoneGap3.3を使用しています
  • WebIntentプラグインには多くのバージョンがあることがわかりました
  • 例が役立つかもしれません:)

ありがとう

10
amd

最後に、以下を提供する独自のプラグインを実装しました。

  • getUniqueDeviceId(一意のデバイスIDを返します)
  • openApp(インストールされているアプリを開き、可能な場合はストアにフォールバックします)
  • openStore(特定のアプリでストアを開く)

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

その他の機能については、お気軽に投稿または提案してください。

1
amd

これでプラグインを作成できます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

7
jcesarmobile

ついに、webintentを使用していたときの古いコードを見つけました:

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

Phonegap 3.xのphonegapビルドで参照されるwebintentには2つの異なるgitがあり、違いが何であるかはわかりません(最初のgitは私が使用していたものです):

また、他の便利なプラグインは、起動する前に他のアプリがインストールされているかどうかを通知するwebavailabilityプラグインです: https://github.com/ohh2ahh/AppAvailability.git

アプリがすでに起動されている場合はアプリに切り替えて、再起動しないようにする必要があるため、webintentの使用を停止しました。

編集:おっと、launchactivityは私がプラグインに追加した関数でした...これの前に私がどのようにやっていたかを後でチェックします。

3
QuickFix

IOSでアプリケーションを開くには、このアプリでサポートされているURLスキームを知る必要があります。

たとえば、「mailto:[email protected]」のようなURLでメールライターを開くことができます。しかし、アプリケーションでは、独自のスキームを宣言できます。たとえば、App1では、「my-app1-scheme」のように schemeを宣言 できます。また、2番目のアプリでは、URL「my-app1-scheme://」を開く必要があり、App1が開きます。

そして、私はあなたがこれをより簡単な方法で行うことを可能にするこのプラグインを見つけました: https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

1
Vanger