我正在收听Cordova中的deviceready
和resume
事件。
在我的deviceready
中,如果应用不是从resume
开始的,则我只想调用一个函数。
即我可以实现以下目标吗?
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("resume", onResume, false);
doOnlyWhenNotFromResume();
}
function onResume(event) {
doOnlyWhenFromResume(event);
}
科尔多瓦版本7.1.0
答案 0 :(得分:0)
您可以使用布尔标志来避免在恢复时调用doOnlyWhenNotFromResume()
函数。如果您在pause
事件发生时设置此标志,则它应该起作用,因为在暂停应用程序并“热启动”应用程序之后,再次触发了恢复事件。
在某个范围内声明此变量,以供您使用该函数:
var isResume = false;
并按如下所示修改您的现有代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("resume", onResume, false);
document.addEventListener("pause", onPause, false);
if (!isResume) {
doOnlyWhenNotFromResume();
}
}
function onResume(event) {
doOnlyWhenFromResume(event);
}
function onPause(event) {
isResume = true;
}