• 锁屏杀死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条件中循环,这个可以用来减少闪烁

  • 相关阅读:
    大二下-个人课堂总结
    第十六周总结
    第十五周总结
    计算最长英语单词链
    第十四周总结
    大道至简阅读笔记03
    信息反馈—冲刺20
    sudo安装某一文件报错:E: 无法获得锁 /var/lib/dpkg/lock
    linux脚本文件执行的方法之间的区别
    opencv的安装及填坑
  • 原文地址:https://www.cnblogs.com/visuals/p/5035811.html
Copyright © 2020-2023  润新知