跳到主要内容

useWakeLock

分类
导出大小
1.04 kB
上次更改
3 个月前

响应式的 屏幕唤醒锁定 API。提供了一种方式,当应用程序需要持续运行时,防止设备变暗或锁定屏幕。

演示

是否支持:
是否激活:

用法

ts
import { 
useWakeLock
} from '@vueuse/core'
const {
isSupported
,
isActive
,
forceRequest
,
request
,
release
} =
useWakeLock
()

当调用 request 时,如果文档可见,将请求唤醒锁定。否则,请求将被排队,直到文档变为可见。如果请求成功,isActive 将为 true。无论何时文档被隐藏,isActive 都将为 false

当调用 release 时,唤醒锁定将被释放。如果有排队的请求,它将被取消。

要立即请求唤醒锁定,即使文档被隐藏,请使用 forceRequest。请注意,如果文档被隐藏,这可能会抛出错误。

类型声明

ts
type 
WakeLockType
= "screen"
export interface WakeLockSentinel extends EventTarget {
type
:
WakeLockType
released
: boolean
release
: () =>
Promise
<void>
} export type
UseWakeLockOptions
=
ConfigurableNavigator
&
ConfigurableDocument
/** * Reactive Screen Wake Lock API. * * @see https://vueuse.org.cn/useWakeLock * @param options * * @__NO_SIDE_EFFECTS__ */ export declare function
useWakeLock
(
options
?:
UseWakeLockOptions
): {
sentinel
:
ShallowRef
<WakeLockSentinel | null, WakeLockSentinel | null>
isSupported
:
ComputedRef
<boolean>
isActive
:
ComputedRef
<boolean>
request
: (
type
:
WakeLockType
) =>
Promise
<void>
forceRequest
: (
type
:
WakeLockType
) =>
Promise
<void>
release
: () =>
Promise
<void>
} export type
UseWakeLockReturn
=
ReturnType
<typeof
useWakeLock
>

来源

源代码演示文档

贡献者

Anthony Fu
SerKo
Anthony Fu
Jelf
IlyaL
Fernando Fernández
OrbisK
_Kerman
vuff
HannesOberreiter
wheat
koheing

更新日志

v13.6.0
d32f8 - refactor: 为所有纯函数添加 @__NO_SIDE_EFFECTS__ 注释 (#4907)
v12.4.0
dd316 - feat: 尽可能在所有地方使用被动事件处理程序 (#4477)
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)
5ca57 - 修复:如果文档被隐藏,应延迟唤醒锁定请求 (#4055)

根据 MIT 许可证发布。