Android 下保持屏幕常亮的实现方法

本文介绍了在Android应用中如何实现屏幕常亮功能,包括权限声明、代码实现及关键步骤,确保用户体验不受屏幕自动熄灭影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 下保持屏幕常亮的实现方法

需要对象 import android.os.PowerManager.WakeLock;

  启用屏幕常亮功能

  wakeLock = ((PowerManager)getSystemService(POWER_SERVICE)).

  newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, “MyActivity”);

  wakeLock.acquire();

  关闭屏幕常亮功能

  if (wakeLock != null) {

  wakeLock.release();

  }

  需要权限

<uses-permission android:name="android.permission.WAKE_LOCK" />

  为了不对其他程序造成影响,启用和关闭屏幕常亮的代码一般被放在 Activity 的 onResume() 和 onPause() 事件中。


实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下:

1、在Manifest.xml文件里面用user-permission声明。代码如下:

这种方法,在安装apk时,系统会提示安装人是否允许使用禁止休眠功能。

<uses-permission android:name="android.permission.WAKE_LOCK" />

为了不对其他程序造成影响,启用和关闭屏幕常亮的代码一般被放在 Activity 的 onResume() 和 onPause() 事件中。

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
//MyTag可以随便写,可以写应用名称等
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyTag");
//在释放之前,屏幕一直亮着(有可能会变暗,但是还可以看到屏幕内容,换成PowerManager.SCREEN_BRIGHT_WAKE_LOCK不会变暗)
wl.acquire();  
wl.release(); 

 

2、在程序中用代码实现。代码如下:

把这段代码加在setContentView(R.layout.main)之前即可,这种方法,安装时,不会提示安装人是否允许使用禁止休眠功能

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值