Когда я возобновляю приложение по пользовательской схеме URL в первый раз, window.handleOpenURL не выполняется

Когда я запускаю приложение по URL-адресу пользовательской схемы, запускается событие 'deviceready' и window.handleOpenURL в getBillFromLink ();

затем я открываю веб-страницу и возобновляю приложение из нее, но 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;
}

как я мог справиться с этой проблемой?

спасибо за ваш совет и извините за мой плохой английский:-)

1 ответ

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

Я предполагаю, что, как только приложение уже запущено; Custom-схема-URL не запускает снова вашу функцию.

Вы должны использовать плагин backgroundmode. Я предлагаю использовать: https://github.com/katzer/cordova-plugin-background-mode

Этот плагин позволяет вам определять события, когда приложение переходит из фона в активное приложение. и больше.

Другие вопросы по тегам