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

  • 相关阅读:
    luogu P4587 [FJOI2016]神秘数
    luogu P4042 [AHOI2014/JSOI2014]骑士游戏
    luogu P2597 [ZJOI2012]灾难
    一则胡乱科普
    NJU Static Program Analysis 09: Pointer Analysis II
    NJU Static Program Analysis 08: Pointer Analysis I
    NJU Static Program Analysis 07: Interprocedural Analysis
    NJU Static Program Analysis 06: Data Flow Analysis IV
    LianYunGang OI Camp: Contest #2
    NJU Static Program Analysis 05: Data Flow Analysis III
  • 原文地址:https://www.cnblogs.com/visuals/p/5035811.html
Copyright © 2011-2022 走看看