跳到内容

useWakeLock

类别
导出大小
991 B
最近更改
3 周前

响应式 Screen Wake Lock API。 提供了一种防止设备在应用程序需要保持运行时变暗或锁定屏幕的方法。

演示

是否支持: false
是否激活: false

用法

js
import { useWakeLock } from '@vueuse/core'

const { isSupported, isActive, forceRequest, request, release } = useWakeLock()

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

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

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

类型声明

typescript
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
 */
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
Anthony Fu
Jelf
IlyaL
Fernando Fernández
OrbisK
_Kerman
vuff
HannesOberreiter
wheat
koheing

更新日志

v12.4.0 于 2025/1/10
dd316 - feat: 在任何可能的地方使用被动事件处理程序 (#4477)
v12.0.0-beta.1 于 2024/11/21
0a9ed - feat!: 移除 Vue 2 支持,优化 bundles 并清理代码 (#4349)
v11.0.0-beta.2 于 2024/7/17
5ca57 - fix: 如果文档隐藏,则应延迟唤醒锁请求 (#4055)

在 MIT 许可证下发布。