Я пишу расширение Chrome, которое (помимо прочего) отслеживает, сколько времени вы проводите на разных сайтах. Я использую API chrome.idle, чтобы отслеживать, когда компьютер переходит в режим ожидания / возобновляет работу, чтобы остановить и запустить таймеры.
Проблема, с которой я сталкиваюсь, заключается в том, что когда компьютер возобновляет работу из режима ожидания, таймер запускается снова, даже если Chrome не является активным приложением на компьютере пользователя. Вот мой код:
chrome.idle.onStateChanged.addListener(function(newState){
if (newState == "active") {
//user resumes activity after being locked/idle:
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
processTab(tabs[0]);
});
}
});
Я пробовал оба: chrome.tabs.query({ currentWindow: true, active: true})
и chrome.tabs.query({ lastFocusedWindow: true, active: true
, и оба возвращают вкладку окна / активной, даже если сам Chrome не является активным приложением на компьютере.
Как мне убедиться, что Chrome действительно является активным / приоритетным приложением в этом случае?