跳到主要內容

useWakeLock

分類
匯出大小
991 B
最後變更
3 週前

響應式 Screen Wake Lock API。提供一種方法來防止裝置在應用程式需要保持執行時螢幕變暗或鎖定。

範例

是否支援:
是否啟用:

用法

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.dev.org.tw/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 on 1/10/2025
dd316 - feat: use passive event handlers everywhere is possible (#4477)
v12.0.0-beta.1 on 11/21/2024
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v11.0.0-beta.2 on 7/17/2024
5ca57 - fix: should delay wake lock request if document is hidden (#4055)

以 MIT 授權條款發布。