4

我有一个使用唤醒锁的网络应用程序(见下文) - 我已注册原始试用版并将代码添加到我的 index.html。- 见https://lucid-franklin-4016c2.netlify.com/

当我在最新版本的 Android Chrome 中加载页面时,手机保持唤醒状态,并且我用于此正在运行的应用程序的文本转语音消息工作正常。

我还将它设置为 PWA(服务人员、清单、...-在灯塔中都很好)。但是,在“将页面添加到主屏幕”并从那里加载 PWA 之后,手机确实会进入睡眠状态。它会继续计时,并且可以在后台播放声音文件,但文本转语音功能已停用。

这是预期的行为吗?

我的主要需求是文字转语音,而不是让手机保持清醒,因为无论如何,地理定位似乎在手机处于睡眠状态时起作用。还有什么我可以做的吗?

// 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"
        });
    }
};
4

1 回答 1

1

Chrome 最近在版本 84 中推广了Wake Lock API的原始试用版,并且似乎在 Android PWA 上的 Chrome 上运行良好。

演示:https ://reillyeon.github.io/scraps/wakelock.html

于 2020-07-15T09:17:38.570 回答