安卓手机 APP 开发,有的时候需要屏幕长时间亮着,也就是不锁屏,这时CPU会一直处于不休眠唤醒状态。下面介绍两种方法。

方法一:通过 PowerManager 实现。

此种方法会在软件安装时用户可以看到屏幕选项。

首先,在 AndroidManifest.xml 加入权限:

然后,定义PowerManager 和 WakeLock:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

WakeLock wl = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyKeepScreen");

这样,就可以用以下代码来实现屏幕常量的切换了:

boolean keepScreen = true || false;

wl.acquire();

if (!keepScreen) {

wl.release();

}

这里需要注意的是 WakeLock 有几种参数:

PowerManager.FULL_WAKE_LOCK (deprecated推荐使用第一种方式)

PowerManager.SCREEN_DIM_WAKE_LOCK (deprecated推荐使用第二种方式)

PowerManager.SCREEN_BRIGHT_WAKE_LOCK (deprecated推荐使用第三种方式)

PowerManager.PARTIAL_WAKE_LOCK 此参数可以保证CPU正常运行;屏幕和键盘灯可以关闭。即使用户按了电源键,CPU依然会运行

方法二:通过 LayoutParams 实现。

这种方法只需要直接在 Activity 的 onCreate() 方法里,添加以下代码:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

这种方法不需要添加权限,所以在 APP 安装权限列表是看不到改项。在 Activity 失效时,该功能也同时不起作用。

android保持服务不休眠,Android开发保持屏幕常亮和CPU不休眠唤醒状态相关推荐

  1. 设置屏幕常亮,禁止树莓派休眠

    树莓派是微型电脑,系统自带休眠保护功能,但是有人可能会处理一些事务,想树莓派屏幕常亮,保证树莓派一直都处于活动状态,今天分享如何让树莓派屏幕常亮,禁止休眠的解决方案. 1. 系统:基于debian 9 ...

  2. Raspberry Pi 4B树莓派 | #入门教程04#设置屏幕常亮,禁止树莓派休眠

    树莓派是微型电脑,系统自带休眠保护功能,但是有人可能会处理一些事务,想树莓派屏幕常亮,保证树莓派一直都处于活动状态,今天分享如何让树莓派屏幕常亮,禁止休眠的解决方案. raspbian系统 Raspb ...

  3. Android 保持屏幕常亮的几种方法

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 未经允许,不得转载. 一.前言 在实际开发的过程中,会有一些需要保持屏幕常亮,避免进入锁屏状态的需求.最常见的 ...

  4. Android开发-屏幕常亮的方法

    方法一:xml文件中的顶层布局添加属性 在你需要常亮的Activity对应的布局文件中,给需要屏幕常亮的UI组件设置:android:keepScreenOn="true" 只要A ...

  5. 【android开发】动态设置屏幕常亮/不常亮

    开发过程中,遇到了在某种情况下需要保持屏幕常亮,某种情况下又不保持常亮的情况.将实现代码记录如下. 1.首先需要声明权限: <!-- 保持屏幕亮起权限 --> <uses-permi ...

  6. android休眠唤醒java_Android-WakeLock(唤醒锁与CPU休眠/屏幕常亮)

    一.使用 PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager. ...

  7. 2021-08-12 Android APP 保持屏幕常亮和取消屏幕常亮方法

    Android APP 保持屏幕常亮和取消屏幕常亮方法 一.有时候进入一个app想让屏幕常亮,这个这个可以使用 FLAG_KEEP_SCREEN_ON 功能,涉及下面函数 Window flag: a ...

  8. Android屏幕常亮,其实很简单

    此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78363031   笔者所在公司做的APP是股 ...

  9. Android实习札记(2)---妙用View的keepScreenOn保持屏幕常亮

    Android实习札记(2)---妙用View的keepScreenOn保持屏幕常亮 --转载请注明出处:coder-pig 1)什么是屏幕常亮? 直译就是让我们的屏幕一直亮着呗,手机通常都带有省电模 ...

最新文章

  1. ABAP 程序间的调用
  2. Loadrunner11点击录制脚本无响应,IE页面弹不出——解决方案汇总
  3. 用Apache Server配置php,cgi服务器
  4. Keil4编译原子哥的SYSTEM出现错误 Inline assembler not permitted when generating Thumb code
  5. Java与C、C++的区别
  6. UI设计师应了解最终用户的十件事
  7. 使用 Benchmark.NET 测试代码性能
  8. 面向对象(二) 继承/里氏替换
  9. 利用SQL对拍拍贷数据进行逾期分析
  10. ubuntu系统安装qq教程(超简单,亲测成功)
  11. 全面剖析雅虎助手以及网络实名的流氓行径(9)
  12. 蓝牙诊断工具_蓝牙故障诊断和使用指南
  13. c语言switch优点,关于C语言switch
  14. 程序员下厨房入门---好好照顾自己
  15. 【蓝牙开发】低功耗蓝牙ATT/GATT/Profile/Service/Characteristic规格解读
  16. JavaOJ 汉诺塔问题
  17. jQuery入门与实战
  18. 软件测试及工程常用词汇(笔记一)
  19. 只需 2 张照片就能 2D 变 3D,这个 AI 能自己脑补蜡烛吹灭过程
  20. iconfont使用的三种方式(阿里巴巴矢量图标库代码使用)

热门文章

  1. TypeScript中怎么用接口(interface)描述类(静态部分与实例部分)
  2. iframe 高度根据子页面来确定
  3. elementUI-添加自定义图标
  4. python链表的实现,有注释
  5. HttpURLConnection简单用法
  6. linux 时间会跳吗,linux系统时间暂时跳跃
  7. java 递归函数_浅谈java递归函数
  8. 手型向下 点击一下 福昕_PPT多张缩略图点击放大展示
  9. puppet 安装mysql_Puppet安装dashboard
  10. apache gobblin mysql_gobblin简单使用