zoukankan      html  css  js  c++  java
  • android修改系统时系统黑屏时不进入休眠状态

    android修改系统时系统黑屏时不进入休眠状态

    转 https://www.cnblogs.com/suxiaoqi/p/9260403.html

     

    基于android4.4修改,在frameworks/base/services/java/com/android/server/power/PowerManagerService.java里,查看休眠方法goToSleep方法,发现休眠最后是调用一下方法,

    private void updatePowerStateLocked() {
    if (!mSystemReady || mDirty == 0) {
    return;
    }

    // Phase 0: Basic state updates.
    updateIsPoweredLocked(mDirty);
    updateStayOnLocked(mDirty);

    // Phase 1: Update wakefulness.
    // Loop because the wake lock and user activity computations are influenced
    // by changes in wakefulness.
    final long now = SystemClock.uptimeMillis();
    int dirtyPhase2 = 0;
    for (;;) {
    int dirtyPhase1 = mDirty;
    dirtyPhase2 |= dirtyPhase1;
    mDirty = 0;

    updateWakeLockSummaryLocked(dirtyPhase1);
    updateUserActivitySummaryLocked(now, dirtyPhase1);
    if (!updateWakefulnessLocked(dirtyPhase1)) {
    break;
    }
    }

    // Phase 2: Update dreams and display power state.
    updateDreamLocked(dirtyPhase2);
    updateDisplayPowerStateLocked(dirtyPhase2);

    // Phase 3: Send notifications, if needed.
    if (mDisplayReady) {
    sendPendingNotificationsLocked();
    }

    // Phase 4: Update suspend blocker.
    // Because we might release the last suspend blocker here, we need to make sure
    // we finished everything else first!
    updateSuspendBlockerLocked();
    }

    红色部分注释掉以后,系统黑屏休眠时,就不会影响应用了,比如camera的使用。

     

  • 相关阅读:
    GO语言的进阶之路-Golang字符串处理以及文件操作
    将本地的代码推送到公网的github账号去
    GO语言的进阶之路-go的程序结构以及包简介
    Linux操作系统原理
    Linux安装-kickstart无人值守安装
    LVM逻辑卷管理
    Liunx软Raid实现
    parted分区工具用法
    高级Linux运维工程师必备技能(扫盲篇)
    H3C配置FTP服务器
  • 原文地址:https://www.cnblogs.com/it-tsz/p/14151665.html
Copyright © 2011-2022 走看看