zoukankan      html  css  js  c++  java
  • 锁屏杀死timer解决

    要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    你可能还需要
    <uses-permission android:name="android.permission.DEVICE_POWER"/>

    另外WakeLock的设置是 Activiy 级别的,不是针对整个Application应用的

     

    if(wakeLock == null) {

                Log.v("acquire=wakelock ", "acquire");

                PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

                wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getCanonicalName());

                wakeLock.acquire();

            }

    if(wakeLock !=null && wakeLock.isHeld()) {

                Log.v("acquire=wakelock ", "release");

                wakeLock.release();

                wakeLock = null;

            }

    关于int flagsw

      各种锁的类型对CPU 、屏幕、键盘的影响:

    PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。

    SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

    SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯

    FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

    ACQUIRE_CAUSES_WAKEUP:正常唤醒锁实际上并不打开照明。相反,一旦打开他们会一直仍然保持(例如来世user的activity)。当获得wakelock,这个标志会使屏幕或/和键盘立即打开。一个典型的使用就是可以立即看到那些对用户重要的通知。

    ON_AFTER_RELEASE:设置了这个标志,当wakelock释放时用户activity计时器会被重置,导致照明持续一段时间。如果你在wacklock条件中循环,这个可以用来减少闪烁

  • 相关阅读:
    【css】垂直居中的几种写法
    【gulp】gulp-file-include 合并 html 文件
    【gulp】gulp + browsersync 构建前端项目自动化工作流
    【nodejs】exports 和 module.exports 的区别
    【nodejs】初识 NodeJS(四)
    【nodejs】初识 NodeJS(三)
    【nodejs】初识 NodeJS(二)
    【nodejs】初识 NodeJS(一)
    【规范】前端编码规范——注释规范
    【规范】前端编码规范——jquery 规范
  • 原文地址:https://www.cnblogs.com/visuals/p/5035811.html
Copyright © 2011-2022 走看看