2017-06-13 19 views
1

getBillFromLink()executeのカスタムスキームurl、イベント 'deviceready'トリガー、window.handleOpenURLでアプリケーションを起動すると、初めてカスタムURLスキームでアプリケーションを再開すると、window.handleOpenURLは実行されません。

私はWebページを開いてアプリケーションを再開しますが、window.handleOpenURLは実行されませんでした。関数onResumeとgetBillFromLinkが実行されます。

が、私は最初の時間が経過した後のウェブページからアプリを再開する回数に関係なく、 window.handleOpenURLが正常に実行されます。ここで

はコードです:

$ionicPlatform.on("deviceready", function() { 
    document.addEventListener("resume", onResume, false); 
    getBillFromLink().then(function (data) { 
     //todo 
    }); 
}); 
function onResume() { 
    getBillFromLink().then(function (data) { 
     //todo 
    }); 
} 
function getBillFromLink() { 
    var deferred = $q.defer(); 
    $timeout(function() { 
     window.handleOpenURL = function(url){ 
      if(!!url){ 
       deferred.resolve(url); 
      }else{ 
       deferred.reject(url); 
      } 
     }; 
    }, 0); 
    return deferred.promise; 
} 

私が対処できますかトラブル?

答えて

0

あなたの問題:-)私の下手な英語のためのあなたのアドバイスや気の毒ため

おかげで、あなたの特定のURLを呼び出すときに正常に起動するアプリなどのカスタム・スキームURLのプラグインにリンクされていません。

私は、アプリケーションが既に起動されていると仮定します。 custom-scheme-urlはあなたの関数を再度起動しません。

backgroundmodeプラグインを使用する必要があります。 私は以下を使用することを提案します:https://github.com/katzer/cordova-plugin-background-mode

このプラグインは、アプリケーションがバックグラウンドからアクティブなアプリケーションに移行するときにイベントを定義できるようにします。もっと。

関連する問題