博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android WakeLock 使用总结
阅读量:5275 次
发布时间:2019-06-14

本文共 2174 字,大约阅读时间需要 7 分钟。

目的:

  解决屏幕唤醒问题

遇到的问题:

  调用wake.release后,程序退出及其它程序都保持唤醒状态,无法恢复到系统自由控制唤醒。

解决办法:

  调用wake.release后,将wake == null;

 

贴代码:

1 package com.example.boke; 2  3 import android.app.Activity; 4 import android.content.Context; 5 import android.os.PowerManager; 6 import android.os.PowerManager.WakeLock; 7  8 public class BaseActivity extends Activity { 9 10     /**11      * 系统电量管理对象12      */13     protected PowerManager powerManager = null;14     /***15      * 唤醒操作管理对象16      */17     protected WakeLock wakeLock = null;18     /**19      * 是否使用唤醒,标志位20      */21     private boolean isWakeUp = false;// 屏幕是否常亮22 23     /**24      * 是否启动界面长亮25      * @param bEnable26      */27     public void enableWackUpActivity(boolean bEnable) {28         if (bEnable) {29             isWakeUp = true;30             openWakeUp();31         } else {32             isWakeUp = false;33             closeWakeUp();34         }35     }36 37     /**38      * 打开界面长亮功能39      */40     private void openWakeUp() {41         if (this.powerManager == null) {42             this.powerManager = (PowerManager) this43                     .getSystemService(Context.POWER_SERVICE);44         }45         if (this.wakeLock == null) {46             this.wakeLock = this.powerManager.newWakeLock(47                     PowerManager.FULL_WAKE_LOCK, "TNT");48         }49         if (!this.wakeLock.isHeld()) {50             this.wakeLock.acquire();51         }52     }53 54     /**55      * 关闭界面长亮功能56      */57     private void closeWakeUp() {58         if (this.wakeLock != null) {59             if (this.wakeLock.isHeld()) {60                 this.wakeLock.release();61                 this.wakeLock = null;62             }63         }64     }65 66     @Override67     protected void onPause() {68         // TODO Auto-generated method stub69         super.onPause();70         if (isWakeUp) {71             closeWakeUp();72         }73     }74 75     @Override76     protected void onResume() {77         // TODO Auto-generated method stub78         super.onResume();79         if (isWakeUp) {80             openWakeUp();81         }82     }83 84 }
View Code

 

转载于:https://www.cnblogs.com/junqinghaha/p/3523407.html

你可能感兴趣的文章
fabricjs 高级篇(自定义类型)
查看>>
jQuery之end()和pushStack()
查看>>
springboot入门_shiro
查看>>
Bootstrap--响应式导航条布局
查看>>
【好程序员笔记分享】——下拉刷新和上拉加载更多
查看>>
C/C++连接MySql数据库
查看>>
多线程,多进程,协程
查看>>
Hacker News与Reddit的算法比较
查看>>
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>
mysql-5.7.21-winx64.zip 下载安装
查看>>
Creating a Custom Login Page for SharePoint 2010
查看>>
oracle系统包—-dbms_output用法
查看>>
jQuery基础修炼圣典—DOM篇(二)jQuery遍历
查看>>
Grunt 常用插件
查看>>
HDU 1021 一道水题
查看>>
php实现倒计时效果
查看>>
如何开发一个npm包并发布
查看>>
进击的 JavaScript(六) 之 this
查看>>
二进制&八进制&十六进制之间的快速转换------ 心算&笔算方法总结
查看>>