Расширение Chrome: Расписание уведомления не сбрасывает данные в хранилище Chrome - PullRequest
0 голосов
/ 13 ноября 2018

Я разработал приложение, которое должно вызывать будильник в определенный час каждый день.Этот сигнал тревоги вызовет расширенное уведомление, которое имеет функцию обратного вызова, которая устанавливает данные в хранилище Chrome.

Проблема:

  • Если Chrome работает, запланированное уведомление запускается правильно исбрасывает данные в хранилище Chrome.
  • Если Chrome не работает (например, ПК выключен), и я запускаю Chrome через 1 или 2 часа после запланированного уведомления, данные будут сброшены.
  • Если Chrome не запущен и я запускаю Chrome через 6 или 7 часов после (скажем, я включаю компьютер после сна), данные не будут сброшены, даже если сработает запланированное уведомление.

Создание тревоги:

chrome.alarms.create("resetDailyValue", {
        when: new Date().setUTCHours(resetTime, 0, 0, 0),
        periodInMinutes: resetTime * 60
    });

Расписание уведомлений:

chrome.alarms.onAlarm.addListener(function (alarm) {      
    chrome.storage.sync.get(null, function (keys) {
        dailyValue = keys["dailyValue"];
    });

    if (alarm.name === "resetDailyValue") {
        chrome.notifications.create(resetNotificationOptions,
            function () {
                chrome.storage.sync.set({
                    "dailyValue": dailyDefaultValue
                }, function () {
                    console.log("Daily value reset!");
                });
            });
    }
});
...