我正在听科尔多瓦的deviceready
和resume
事件。
在我的deviceready
我只想调用一个函数,如果应用程序不是从resume
开始。
即我可以达到以下目的吗?
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("resume", onResume, false);
doOnlyWhenNotFromResume();
}
function onResume(event) {
doOnlyWhenFromResume(event);
}
Cordova版本7.1.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;
}