Android(安卓)设置屏幕不待机
16lz
2021-01-25
转自:http://blog.csdn.net/yudajun/article/details/7748760
最近做项目时正好用到,进行了一下总结:
Android设置支部待机有两种方法
第一种简单通过设置WindowManager属性实现:
在Activity oncreat()方法中设置
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
第二种使用android的PowerManager和PowerManager.WakeLock实现:
//添加锁
[java] view plain copy
- privatevoidacquireWakeLock(){
- if(wakeLock==null){
- Logger.d("Acquiringwakelock");
- PowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERVICE);
- wakeLock=pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK,this.getClass().getCanonicalName());
- wakeLock.acquire();
- }
- }
- //释放锁
- privatevoidreleaseWakeLock(){
- if(wakeLock!=null&&wakeLock.isHeld()){
- wakeLock.release();
- wakeLock=null;
- }
- }
关于int flags
各种锁的类型对CPU 、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
最后不要忘记!
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
<uses-permission android:name="android.permission.WAKE_LOCK" />你可能还需要<uses-permission android:name="android.permission.DEVICE_POWER" />
更多相关文章
- Android集成微信SDK:微信分享
- Android之使用AIDL时的跨进程回调—Server回调Client
- Activity学习(一):生命周期
- android postDelayed 方法的简单使用
- 实现退出时关闭所有Activity的方法
- Android7.1修改系统默认多媒体音量大小
- Android面试知识点汇总
- android 理解Fragment生命周期
- 如何锁定横屏或竖屏