Кордова вызов функции, когда НЕ из резюме

Я слушаю 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

1 ответ

Решение

Вы можете использовать логический флаг, чтобы избежать 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;
}
Другие вопросы по тегам