一、引言

Android开发中会用到将应用的屏幕保持常亮,比如播放视频、音乐等,如果总是用户去触摸屏幕来保持屏幕常亮,那么用户体验会很差;

二、实现方式

  1. 通过设置Window Flag(最简单,推荐)
  2. 通过PowerManager

第一种方式:

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

 此种方式在退出Activity的时候将不再起作用

第二种方式:

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "mytag");//记得在onResume方法中调用mWakeLock.acquire();//记得在onPause方法中调用mWakeLock.release(); 

这里需要注意的是newWakeLock的参数,

  • PowerManager.FULL_WAKE_LOCK (deprecated推荐使用第一种方式)
  • PowerManager.SCREEN_DIM_WAKE_LOCK (deprecated推荐使用第一种方式)
  • PowerManager.SCREEN_BRIGHT_WAKE_LOCK (deprecated推荐使用第一种方式)
  • PowerManager.PARTIAL_WAKE_LOCK 此参数可以保证CPU正常运行;屏幕和键盘灯可以关闭。即使用户按了电源键,CPU任然会运行。

两种方式可以根据不同的需要来参考使用。另外提供一种唤醒屏幕并解除屏幕锁的方式参考代码如下

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

http://my.eoe.cn/readonly/archive/21645.html

 

 

更多相关文章

  1. 【Orientation】详解Android中的屏幕方向
  2. 关于Android的分辨率支持
  3. Android培训班(45)
  4. Android(安卓)分辨率 及 px, dip相互转换
  5. 调用Android原生裁剪方式裁剪图片并保存
  6. BroadcastReceiver与Notification的综合应用之自定义Action的调
  7. Android(安卓)Studio精彩案例(三)《模仿微信ViewPage+Fragment实
  8. Android(安卓)中的危险权限详细整理
  9. Android(安卓)OpenGL ES(四)----调整屏幕的宽高比

随机推荐

  1. Google解决专利权第一步
  2. Eclipse搭建Android(安卓)开发环境
  3. Android(安卓)高级UI
  4. Android的UI组件 .
  5. Google Maps Android(安卓)API v2 (4)-
  6. 提供给Android和iOS开发人员的UWP移植向
  7. 【Android】用Cubism 2制作自己的Live2D
  8. 开发Android那么多年,你真的会打包吗
  9. 从iOS转入Android学习心得
  10. Android(安卓)webView嵌套html页面软键盘