2016-08-27 15 views
0

私はIonicアプリ内から外部アプリを起動しようとしています。たとえば、Instagramなどです。私はこれをLampaa's Startap pプラグインで試していますが、これまでのいくつかの例には成功していませんでした。Ionic:外部アプリの起動

ng-click=""で呼び出されたコントローラ内部のコードです。私は各ステップが何を試みているのかをコメントで説明しようとしました。また、app.availabilityを追加して、アプリがインストールされているかどうかを確認したいが、これを行う方法もうまくいかない。ありがとう! iPhoneのデバイスでテスト

$scope.onInstagramClick = function() { 

// Check if 
if (ionic.Platform.isAndroid()) { 
// Using plugin com.lampa.startapp to launch the app for android 
navigator.startApp.set({ 
    "package": "com.instagram.android", 
}).start(); 

} else { 
    if (ionic.Platform.isIOS() || ionic.Platform.isIPad()) { 
       console.log('ios'); 
       navigator.startApp.set({ 
    "package": "instagram://", 
}).start(); 
    } else { 

     console.log('thisfailed.'); 
     }; 
    } 
} 
+0

これはあなたと同じ時間を要請されました: https://stackoverflow.com/questions/39176713/how-can-i-open-another-app-using-intents-in-ionic – Ladmerc

+0

ありがとうございましたiOSとAndroidで異なるターゲットを設定するそこでは、アプリ内ブラウザのメソッドを使ってアプリを起動することもできません。私は特にLampaaのプラグインを利用しようとしています – o1n3n21

+0

コンソールに何かエラーがありますか? – e666

答えて

1
$scope.onInstagramClick = function() { 


if (ionic.Platform.isAndroid()) { 
var sApp = startApp.set("com.instagram.android"); 
sApp.start(function() { /* success */ 
    console.log("OK"); 
}, function(error) { /* fail */ 
    alert("no Instagram found"); 
}); 

} else { 
    if (ionic.Platform.isIOS() || ionic.Platform.isIPad()) { 
var sApp = startApp.set("instagram://"); 
sApp.start(function() { /* success */ 
    console.log("OK"); 
}, function(error) { /* fail */ 
    alert("no Instagram"); 
}); 

} 

。私はそれを動作させるためにXcodeでいくつかのことをしなければなりませんでした。つまり、アプリケーションのinfo.plistを編集して外部アプリを開くことができます。 これはinfo.plistの内部に別のプロパティとしてLSApplicationQueriesSchemesを追加することによって行われます。ここでは、「Instagram」やアプリを「Item」として追加します。さらに、App Transport Security Settingsのブール値Allow Arbitrary LoadsYESに設定されていることを確認する必要があります。

関連する問題