`

PowerManager 电源管理

 
阅读更多

PowerManager 电源管理

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);通过 context.getSystemService()获取PowerManager实例。注意:对电源的设置是Activity级别的,不同的activity可以有不同的设置,这里的Context是Activity的,不是ApplicationContext.

然后通过PowerManager的newWakeLock((int flags, String tag)来生成WakeLock实例。int Flags指示要获取哪种WakeLock,不同的Lock对cpu 、屏幕、键盘灯有不同影响。

获取WakeLock实例后通过acquire()获取相应的锁,然后进行其他业务逻辑的操作,最后使用release()释放(释放是必须的)。

关于int flags(为PowerManager的关键字)

各种锁的类型对CPU 、屏幕、键盘的影响:

PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。

SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯

FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

ACQUIRE_CAUSES_WAKEUP:Normal wake locks don't actually turn on the illumination. Instead, they cause the illumination to remain on once it turns on (e.g. from user activity). This flag will force the screen and/or keyboard to turn on immediately, when the WakeLock is acquired. A typical use would be for notifications which are important for the user to see immediately.

ON_AFTER_RELEASE:f this flag is set, the user activity timer will be reset when the WakeLock is released, causing the illumination to remain on a bit longer. This can be used to reduce flicker if you are cycling between wake lock conditions.

权限获取

要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。

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

你可能还需要

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

另外WakeLock的设置是 Activiy 级别的,不是针对整个Application应用的。可以在activity的onResume方法里面操作WakeLock,  在onPause方法里面释放。

 

分享到:
评论

相关推荐

    java 电源管理类 powermanager

    这个"java 电源管理类 powermanager"项目就是这样一个例子,它使用C语言编写了底层的电源管理功能,然后通过JNI接口在Java层进行调用。 首先,让我们了解JNI。JNI是一种允许Java代码和其他语言写的代码进行交互的...

    Power manager for LiteOS 轻鸿蒙电源管理服务.zip

    【鸿蒙电源管理服务——Power Manager for LiteOS详解】 在华为的鸿蒙系统(HarmonyOS)中,电源管理是一项至关重要的服务,特别是在其轻量级版本——LiteOS上。Power Manager for LiteOS是专门为LiteOS设计的电源...

    15版联想t450电源管理软件win7powermanager[n14u406w]

    15版联想t450电源管理软件win7powermanager[n14u406w],实用于win7系统。

    android 电源管理解决方案

    在Android中,电源管理是通过`PowerManager`服务实现的,它与Linux内核进行通信,调用相应的电源策略。例如,`PowerManager.WakeLock`接口用于控制设备保持唤醒状态,防止进入休眠。 四、模块设计规范 文档中提到...

    Android内核驱动——电源管理

    用户空间通过电源管理API与系统服务层交互,系统服务层(如PowerManager服务)则负责处理来自应用的电源请求,并与内核通信,执行相应的电源策略。 三、关键组件解析 1. **Power HAL**(Hardware Abstraction Layer...

    android 电源管理

    ### Android电源管理详解 #### 一、概述 在Android系统中,电源管理是一个非常重要的功能模块,它直接关系到移动设备的续航能力。良好的电源管理不仅能够提升用户体验,还能增加设备的整体性能。本文将深入探讨...

    android-电源管理.rar

    在Android系统中,电源管理是一项至关重要的功能,它涉及到设备的续航能力、性能优化以及用户交互体验。"android-电源管理.rar"这个压缩包文件很可能包含了一些关于Android电源管理系统深入的资料,对于开发者来说,...

    ThinkpadPowerManager(联想电源管理软件)v6.65.1安装版

    Thinkpad Power Manager是联想官方推出的Thinkpad系列笔记本的一款电源管理软件,Thinkpad电源管理软件通过软件、硬件的配合,对笔记本电脑各部件的性能及功耗进行优化与控制,有效延长电脑电池的使用时间,增强电池...

    android电源管理显示例子

    在Android系统中,电源管理是优化设备性能和用户体验的关键部分。本示例项目"android电源管理显示例子"提供了一个完整的实现,展示了如何获取并显示设备的电源状态信息。以下是这个项目涉及的一些核心知识点: 1. *...

    浅析Wakelock机制与Android电源管理

    浅析Wakelock机制与Android电源管理 Android电源管理是移动设备中非常重要的一方面,在Android系统中,Wakelock机制是电源管理的核心机制之一。Wakelock机制是Android系统中的一个重要组件,用于管理Android设备的...

    Android电源管理相关应用技巧分享

    ### Android电源管理相关应用技巧详解 #### 一、引言 随着智能手机的普及和技术的发展,Android作为主流的移动操作系统之一,其电源管理技术对于提升用户体验至关重要。本文将深入探讨Android电源管理的技术细节,...

    Thankpad t420i 电源管理win8 x64亲测可用

    "PowerManager"是ThinkPad系列电脑专用的电源管理软件,它提供了丰富的设置选项,帮助用户根据个人需求平衡性能与节能。 一、PowerManager软件介绍 PowerManager是由联想公司为ThinkPad系列电脑设计的一款电源管理...

    Android电源管理.doc

    - 引入电源管理包:`import android.os.PowerManager;` - 定义变量:`PowerManager.WakeLock mWakeLock;` - onCreate()中创建并获取唤醒锁:`mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, ...

    IBM r50e电源管理

    "powermanager81U716WW.exe"这个文件名很可能是IBM的电源管理软件的安装程序,版本号为81U716WW。此软件提供了一个用户友好的界面,让用户能够更直观地监控电池状态,控制电源设置,并获取关于电池健康状况的详细...

    联想电源管理.zip

    在压缩包中的文件“Lenovo_powermanager_6.53[hfu405ww].exe”是联想电源管理软件的安装程序。版本号6.53表明这可能是软件的一个较新版本,提供了更多的功能和改进。"hfu405ww"可能是内部版本标识或特定地区的代码。...

    IBM电池管理软件powermanager

    IBM Power Manager是一款专为IBM笔记本电脑设计的电池管理软件,旨在优化电池性能,延长电池寿命,并帮助用户在使用Windows XP操作系统时实现最佳的能源效率。该软件提供了多种功能,包括智能电源模式设置、电池健康...

    Unity调用Android系统PowerManager类功能.zip

    因为关机、重启和一些电源管理操作涉及到系统安全,所以需要应用具有系统签名级别的权限。这意味着你的应用必须使用与系统相同的签名证书,这通常只适用于系统应用或者经过root的设备。 6. **实现步骤**: - 创建...

Global site tag (gtag.js) - Google Analytics