Android屏幕保持唤醒状态
2015-07-28 22:19
676 查看
我们程序偶尔会有需要屏幕一直或较长时间的保持唤醒状态,而用户的睡眠时间又设置的比较短。这时可能会对程序以及用户的使用造成一定的影响。在Android中有两种方法,可以让我们在我们需要保持唤醒的页面长时间保持唤醒状态
1.Android的电源管理里面提供了“唤醒锁”,它允许我们的设备屏幕能在一定的时间内或一直保持唤醒状态!如下为其简单使用步骤:
申请唤醒锁使用权限
<uses-permission android:name="android.permission.WAKE_LOCK"/>
获取电源管理对象
PowerManager powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE);
获取唤醒锁对象
WakeLock wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock");
请求唤醒锁
释放唤醒锁
如果使用了acquire的方式,除非是用户将程序退出,或是手动按电源键关闭屏幕,否则屏幕将处一直处于唤醒状态。
2.使用窗口管理器提供的屏幕保持唤醒的方式
此种方式的好处是不用担心释放的问题,页面退出了,就自动解除了唤醒状态,进入到正常的模式中
1.Android的电源管理里面提供了“唤醒锁”,它允许我们的设备屏幕能在一定的时间内或一直保持唤醒状态!如下为其简单使用步骤:
申请唤醒锁使用权限
<uses-permission android:name="android.permission.WAKE_LOCK"/>
获取电源管理对象
PowerManager powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE);
获取唤醒锁对象
WakeLock wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock");
请求唤醒锁
protected void onResume() { super.onResume(); //一直处于唤醒状态, 除非使用release释放唤醒锁 wakeLock.acquire(); //唤醒给定时间 wakeLock.acquire(long timeout); }
释放唤醒锁
protected void onPause() { super.onPause(); wakeLock.release(); }
如果使用了acquire的方式,除非是用户将程序退出,或是手动按电源键关闭屏幕,否则屏幕将处一直处于唤醒状态。
2.使用窗口管理器提供的屏幕保持唤醒的方式
protected void onCreate(Bundle icicle) { super.onCreate(icicle); // 设置标志以使此Activity处于唤醒状态 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(); }
此种方式的好处是不用担心释放的问题,页面退出了,就自动解除了唤醒状态,进入到正常的模式中
相关文章推荐
- Android设计模式之代理模式 Proxy
- Android程序运行过程中因未捕获异常而异常终止
- 上传音乐到Android模拟器的SD卡,并在Android模拟器上播放
- 我遇见的关于android studio 导入studio项目常见问题
- 自定义统一title
- Android模拟器的sdcard操作技巧整理
- 优酷旋转菜单(RotateAnimation,Relativelayout知识点学习)
- Android 构建系统概览
- Android官网中关于Creating a Bound Service的介绍笔记
- LoaderManager的使用
- Android Day10-多媒体
- Android Day09四大组件之内容提供者ContentProvider
- android学习笔记四 ---- android文件安装知识
- Android如何实现侧拉栏
- Android手势滑动识别器应用
- Android 获取屏幕高度和宽度
- Android之ListView原理学习与优化总结
- Android AsyncTask
- Android richtext
- Android Studio导入开源类库