// 最大的屏幕亮度   private float maxLight;// 当前的亮度  private float currentLight;// 用来控制屏幕亮度  private Handler lightHandler;// 60秒时间不点击屏幕,屏幕变暗 private long delayTime = 60 * 1000L; protected void onCreate() {// 保持屏幕常亮getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);// 屏幕亮度控制lightHandler = new Handler(Looper.getMainLooper());      maxLight = getLightness(); }@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {if (currentLight == 1) {startSleepTask();return false;}   startSleepTask();      return super.dispatchTouchEvent(ev);}/**  * 获取亮度  */  private float getLightness() {    WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes();      return localLayoutParams.screenBrightness;  }/**  * 设置亮度   */  private void setLightness(int light) {      currentLight = light;      WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes();    localLayoutParams.screenBrightness = (light / 255.0F);    this.getWindow().setAttributes(localLayoutParams);}/**  * 开启休眠任务  */  private void startSleepTask() {      setLightness((int) maxLight);      stopSleepTask();    lightHandler.postDelayed(sleepWindowTask, delayTime);}  /**  * 结束休眠任务  */  private void stopSleepTask() {  lightHandler.removeCallbacks(sleepWindowTask);  }  /**  * 休眠任务  */ Runnable sleepWindowTask = new Runnable() {      @Override      public void run() {    setLightness(1);      }  };

更多相关文章

  1. Android(安卓)横竖屏切换小结
  2. Android(安卓)自定义FloatView实现悬浮视图
  3. android listview滑动设置浮标半透明效果
  4. android PowerManager wakelock
  5. Android(安卓)的Activity.getWindowManager().getDefaultDisplay
  6. Android(安卓)dialog——点击「屏幕」或者「返回键」不消失
  7. 屏幕适配问题
  8. Android解锁屏幕失效问题
  9. Android(安卓)onTouch 点击事件执行两次分析

随机推荐

  1. 输入法软键盘搜索执行两次的解决方法
  2. Android系统中设置TextView的行间距(非行
  3. Android(安卓)3.0 r1 API中文文档(105)
  4. Style与Theme
  5. React Native 官方文档中文版(含最新Andr
  6. 随手记
  7. android SQLite应用
  8. Android核心模块及相关技术
  9. Android(安卓)统计图表引擎AChartEngine(
  10. Android将ListView逆时针旋转90°实现横