zoukankan      html  css  js  c++  java
  • Android屏幕保持唤醒状态

    我们程序偶尔会有需要屏幕一直或较长时间的保持唤醒状态,而用户的睡眠时间又设置的比较短。这时可能会对程序以及用户的使用造成一定的影响。在Android中有两种方法,可以让我们在我们需要保持唤醒的页面长时间保持唤醒状态

    1.Android的电源管理里面提供了“唤醒锁”,它允许我们的设备屏幕能在一定的时间内或一直保持唤醒状态!如下为其简单使用步骤:

      申请唤醒锁使用权限

    1 <uses-permission android:name="android.permission.WAKE_LOCK"/> 

      获取电源管理对象

    1 PowerManager powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE); 

      获取唤醒锁对象

    1 WakeLock wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock"); 

      请求唤醒锁

    1 protected void onResume() {
    2          super.onResume();
    3          //一直处于唤醒状态,  除非使用release释放唤醒锁
    4          wakeLock.acquire();
    5          //唤醒给定时间
    6          wakeLock.acquire(long timeout);
    7      }

      释放唤醒锁

    1 protected void onPause() {  
    2         super.onPause();  
    3         wakeLock.release();  
    4 }  

    如果使用了acquire的方式,除非是用户将程序退出,或是手动按电源键关闭屏幕,否则屏幕将处一直处于唤醒状态。

    2.使用窗口管理器提供的屏幕保持唤醒的方式

    1 protected void onCreate(Bundle icicle) {
    2     super.onCreate(icicle);  
    3     // 设置标志以使此Activity处于唤醒状态
    4     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    5     setContentView();
    6  } 

    此种方式的好处是不用担心释放的问题,页面退出了,就自动解除了唤醒状态,进入到正常的模式中

  • 相关阅读:
    多线程与线程池
    hdu1506 Largest Rectangle in a Histogram
    安装mathtype出问题卸载后 office2016打开mathtype弹错误窗口
    最小总代价 状压DP
    Sumsets 递推
    不容易系列之(4)——考新郎 递推
    超级楼梯 递推
    阿牛的EOF牛肉串(递推)
    子串查询(二维前缀数组) 2018"百度之星"程序设计大赛
    cf#513 B. Maximum Sum of Digits
  • 原文地址:https://www.cnblogs.com/pillowzhou/p/4684533.html
Copyright © 2011-2022 走看看