2014-03-04 8 views
10

Я разрабатываю приложение PhoneGap, Все, что мне нужно, - это открыть внешнее приложение.PhoneGap - Открытое внешнее приложение

например. мое пространство имен приложений - com.demo.app1, и мне нужно открыть com.demo.app2 application, Возможно ли это?

  • Я использую PhoneGap 3.3
  • Я обнаружил, что существует много версий WebIntent плагин
  • Примером может помочь :)

Благодарности

+1

для android у вас есть плагин webintent. для ios я понятия не имею. – QuickFix

+0

Как я могу использовать его для открытия приложения по имени пакета? – amd

ответ

1

Наконец, я реализовал свой собственный плагин, которые предлагают следующее:

  • getUniqueDeviceId (возвращает уникальный идентификатор устройства)
  • openApp (открыть установленное приложение, и возврат к магазину, если таковая имеется)
  • openStore (открыть магазин на конкретном приложении)

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

Пожалуйста, не стесняйтесь contri bute или предложить любую другую функцию.

+0

@jcesarmobile, что я добавил, поддержка iOS, в дополнение к резервной копии openStore. – amd

3

Наконец нашел мой старый код когда я использовал веб-сайт:

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

Есть два различных мерзавцы для webintent упоминаться в PhoneGap для сборки PhoneGap 3.x, понятия не имею, что различия (и первый из них является один я использую):

И Иным полезный плагин является webavailability плагин, который позволяет вам знать, если установлен другой приложение, прежде чем пытаться запустить его: https://github.com/ohh2ahh/AppAvailability.git

Я прекратил использовать веб-узел, потому что мне нужно было переключиться на приложение, если оно уже было запущено и не связано с ним.

EDIT: oops again, launchactivity была функцией, которую я добавил в плагин ... проверит позже, как я делал до этого.

+0

спасибо, но похоже, что это не поддерживает телефонную книгу. 3.3 – amd

+0

oops извините немного, чтобы быстро наклеить ссылку. Я помню, что я использовал плагин, прежде чем мне пришлось строить свои собственные, но не могу вспомнить URL, который я использовал. Кажется, что это совместимо с 3.x: https://github.com/lampaa/org.apache.cordova.startapp – QuickFix

+0

отредактировал мой ответ с помощью примера с помощью веб-сайта. – QuickFix

1

В iOS для открытия любого приложения вам необходимо знать, какие схемы URL поддерживаются этим приложением.

Например, вы можете открыть email-writer по URL-адресу, например, «mailto: [email protected]». Но дело в том, что вы можете объявить свою собственную схему. Например, в App1 вы можете declare scheme как «my-app1-scheme». И в вашем втором приложении вам нужно будет открыть URL-адрес «my-app1-scheme: //», и ваш App1 будет открыт.

И я только что нашел этот плагин, который позволяет сделать это более простым способом: https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

7

Вы можете Crea плагин с этим 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

+0

Большое спасибо !, этот https://github.com/lampaa/org.apache.cordova.startapp работал для меня на PhoneGap 3.3 – amd

Смежные вопросы