You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native:开发调试时如何防止安卓设备屏幕自动熄灭

解决React Native安卓调试时设备自动熄屏问题

以下是3种不同场景的解决方案,可根据自己的需求选择:

方案1:修改安卓开发者选项(无需改代码,最便捷)

适合固定自用调试设备的场景:

  • 如果未开启开发者模式,先进入设备「设置」-「关于手机」,连续点击5次「版本号」启用开发者选项
  • 进入「开发者选项」,找到「充电时不锁定屏幕/保持唤醒」选项,开启后设备只要连接USB充电就不会自动熄屏

方案2:ADB命令临时设置(适合临时调试场景,无需修改系统配置)

设备连接电脑后执行命令即可生效,调试结束可随时恢复:

  • 开启USB连接时保持屏幕唤醒:
    adb shell settings put global stay_on_while_plugged_in 3
  • 恢复默认熄屏规则:
    adb shell settings put global stay_on_while_plugged_in 0
  • 参数说明:数值3代表USB供电和AC供电时都保持唤醒,设为1代表仅AC供电时保持,2代表仅USB供电时保持

方案3:修改项目代码(仅调试模式生效,不影响正式包)

该方案可以让所有参与项目调试的设备默认不用单独修改设置:

  1. 先在android/app/src/main/AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
  1. 修改入口Activity文件(一般为android/app/src/main/java/[你的包名路径]/MainActivity.java或对应的Kotlin文件),在onCreate生命周期中添加判断逻辑:

Java示例

import android.os.Bundle;
import android.view.WindowManager;
import com.facebook.react.BuildConfig;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 仅调试模式下保持屏幕常亮,正式包不会生效
    if (BuildConfig.DEBUG) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
}

Kotlin示例

import android.os.Bundle
import android.view.WindowManager
import com.facebook.react.BuildConfig

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if (BuildConfig.DEBUG) {
        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
    }
}

内容的提问来源于stack exchange,提问作者John Stuart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:24:03