Я разработал приложение, которое должно вызывать будильник в определенный час каждый день.Этот сигнал тревоги вызовет расширенное уведомление, которое имеет функцию обратного вызова, которая устанавливает данные в хранилище 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!");
});
});
}
});