不在恢复时的Cordova呼叫功能

时间:2018-09-02 21:04:24

标签: android cordova cordova-3

我正在收听Cordova中的devicereadyresume事件。

在我的deviceready中,如果应用不是从resume开始的,则我只想调用一个函数。

即我可以实现以下目标吗?

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
  document.addEventListener("resume", onResume, false);
  doOnlyWhenNotFromResume();
}

function onResume(event) {
  doOnlyWhenFromResume(event);
}

科尔多瓦版本7.1.0

1 个答案:

答案 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;
}