Когда я возобновляю приложение по пользовательской схеме 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
Этот плагин позволяет вам определять события, когда приложение переходит из фона в активное приложение. и больше.