当我通过自定义方案网址启动应用时,事件' deviceready'在getBillFromLink()执行中触发和window.handleOpenURL;
然后我打开一个网页并从中恢复应用程序,但是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 :(得分:0)
您的问题未与custom-scheme-url插件相关联,因为您在调用特定网址时正确启动了应用。
我认为,一旦应用程序已经启动; custom-scheme-url不再触发你的功能。
您必须使用backgroundmode插件。 我建议使用:https://github.com/katzer/cordova-plugin-background-mode
此插件可让您定义应用从后台移动到活动应用时的事件。等等。