---
name: "useScreenAlwaysOn"
mode: "api"
versionRequirements:
  - { name: "@ray-js/panel-sdk", version: "1.0.0" }
title: "useScreenAlwaysOn - 保持设备屏幕常亮，在当前组件起效，卸载当前组件失效"
summary: "保持设备屏幕常亮的 Hook，在组件挂载时生效、卸载时失效。"
questions:
  - "useScreenAlwaysOn 如何保持设备屏幕常亮？"
  - "useScreenAlwaysOn 在组件卸载时屏幕常亮效果会如何变化？"
  - "使用 useScreenAlwaysOn 需要传入参数吗？"
  - "useScreenAlwaysOn 是否有返回值？"
  - "在哪些面板业务场景下需要使用 useScreenAlwaysOn 保持屏幕常亮？"
  - "useScreenAlwaysOn 只在当前组件生命周期内生效是什么意思？"
  - "如何从 @ray-js/panel-sdk 导入并调用 useScreenAlwaysOn？"
  - "多个组件同时使用 useScreenAlwaysOn 会有冲突吗？"
  - "useScreenAlwaysOn 的常亮效果是否跟随页面切换自动取消？"
  - "useScreenAlwaysOn 在 Android 和 iOS 上的表现是否一致？"
---

## useScreenAlwaysOn

> [VERSION] @ray-js/panel-sdk >= 1.0.0

> 💡 该 Hook 在组件挂载时设置屏幕常亮，卸载时取消常亮。
> 依赖 @ray-js/ray 的 setKeepScreenOn API，若运行环境不支持该 API 会输出警告。

### 描述

在组件挂载期间保持设备屏幕常亮，卸载后自动恢复

### 参数

无


### 返回值

无


### 示例代码

#### 示例

```tsx
import { useScreenAlwaysOn } from '@ray-js/panel-sdk';

function VideoPlayer() {
  // 在视频播放页面保持屏幕常亮
  useScreenAlwaysOn();
  return <Video src="..." />;
}
```
