Wake-Lock работает в браузере, но не как PWA - PullRequest
0 голосов
/ 26 января 2020

У меня есть веб-приложение, использующее блокировку пробуждения (см. Ниже) - я зарегистрировал пробную версию источника и добавил код в свой индекс. html. - см. https://lucid-franklin-4016c2.netlify.com/

Когда я загружаю страницу в последней версии Android Chrome, телефон не спит, и текстовые сообщения, которые я использую для этого запущенное приложение работает нормально.

Я также настроил его как PWA (сервисный работник, манифест, ... - все хорошо в маяке). Однако после «добавления страницы на домашний экран» и загрузки оттуда PWA телефон переводит go в спящий режим. Он продолжает отсчитывать время и может воспроизводить звуковые файлы в фоновом режиме, но преобразование текста в речь отключено.

Это ожидаемое поведение?

Моя ключевая потребность - это преобразование текста в речь, а не держать телефон в активном состоянии, так как геолокация, кажется, работает, когда телефон в любом случае спит. Есть ли что-то еще, что я мог бы сделать?

// The wake lock sentinel.
let wakeLock = null;

// Function that attempts to request a wake lock.
export const requestWakeLock = async cb => {
    try {
        wakeLock = await navigator.wakeLock.request("screen");
        wakeLock.addEventListener("release", () => {
            console.log("Wake Lock was released");
        });
        console.log("Wake Lock is active");
    } catch (err) {
        console.error(`${err.name}, ${err.message}`);
        cb({
            tag: "error",
            payload: "wakeLock not supported"
        });
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...