1. 程式人生 > >Android frameworks去掉熄屏前先變暗的功能

Android frameworks去掉熄屏前先變暗的功能

設定>顯示:這裡可以設定自動休眠超時時間。

當設定為30s時,到24s左右螢幕會先變暗,告知使用者螢幕快熄滅了,6s以後才會真正熄屏。

現在需要去掉這個功能,在PowerManagerService裡可以看到:

    private int getScreenDimDurationLocked(int screenOffTimeout) {
        return Math.min(SCREEN_DIM_DURATION,
                (int)(screenOffTimeout * MAXIMUM_SCREEN_DIM_RATIO));
    }

也就是dim的時長,取決於SCREEN_DIM_DURATION和screenOffTimeout * MAXIMUM_SCREEN_DIM_RATIO這兩個數值,哪個小就用哪個。

可以看到SCREEN_DIM_DURATION是7s:

    // The screen dim duration, in milliseconds.
    // This is subtracted from the end of the screen off timeout so the
    // minimum screen off timeout should be longer than this.
    private static final int SCREEN_DIM_DURATION = 7 * 1000;

MAXIMUM_SCREEN_DIM_RATIO的值:
    // The maximum screen dim time expressed as a ratio relative to the screen
    // off timeout.  If the screen off timeout is very short then we want the
    // dim timeout to also be quite short so that most of the time is spent on.
    // Otherwise the user won't get much screen on time before dimming occurs.
    private static final float MAXIMUM_SCREEN_DIM_RATIO = 0.2f;

比率是0.2,也就是說30s的超時時間,dim的時長就是30 * 0.2 = 6s

最終getScreenDimDurationLocked()的返回值是6和7之間的最小值6s。

30S是系統裡最短的超時時間,也就是說其他screenOffTimeout乘以0.2是比6要大的,所以就不用考慮了。

要想去掉DIM這個Feature,直接把SCREEN_DIM_DURATION設為0,這樣getScreenDimDurationLocked()的返回值也就是0,這樣就不再有螢幕先變暗這個步驟了。

實測可行。

相關推薦

Android frameworks去掉功能

設定>顯示:這裡可以設定自動休眠超時時間。 當設定為30s時,到24s左右螢幕會先變暗,告知使用者螢幕快熄滅了,6s以後才會真正熄屏。 現在需要去掉這個功能,在PowerManagerService裡可以看到: private int getScreenDi

android Glide 去掉綠色背景(圖片綠解決方法)

在專案中使用了Glide載入圖片,今天遇到了圖片的背景會變成綠色。網上找到了 解決方案。 圖片變色的原因是因為圖片壓縮所致,一半是webp會出現這樣的情況。 所以在使用Glide的快取機制的時候,快取原圖片即可。 Glide.with(a).load

android彈出dialog後activity背景

builder = new AlertDialog.Builder(this);LayoutInflater inflater = LayoutInflater.from(this);View view = inflater.inflate(R.layout.collect

JS彈出DIV並使整個頁面背景功能的實現程式碼

1.首先寫一個遮罩層div,然後再寫一個彈窗的div <!-- 遮罩層 --> <div id="cover" style="background: #000; position: absolute; left: 0px; top: 0px;

[Android病毒分析]鎖病毒之百氣泡

鎖屏病毒之百變氣泡 一、樣本概況 1.1 樣本分析 檔名稱:百變氣泡 檔案型別:application/jar 樣本包名:Aaron.tencent.kou 樣本大小:287KB MD5:e7c653a4195cd36f27933b4ef1fe8328 SHA1:126B25E8

Android螢幕適配了解這些

前言: 之前很火的螢幕適配方案不知道大家都去嘗試過寫進專案中沒,應該有一部分人在隔岸觀火,大概的原因就是目前並沒有遇到能把專案重構的適配問題,另一方面就是有的適配方案還沒有很成熟的應用,都不想拿自己的專案去測試。就拿那些github開源庫上面的適配方案來說,沒有

Android P 版本 按power鍵再亮UI控制元件無響應

測試步驟:  [1]設定-->安全性和位置資訊-->螢幕鎖定-->選擇"無" [2]進入可以本地僅僅可以重新整理的介面. [3]先熄屏,然後在亮屏. [4]發現UI有卡死的效果.(點選無反應,上次滑動也無反應) [5]按back/home/Recents,

Android AlarmManager實現在休眠時執行任務

考慮到功耗問題,Android系統在熄屏一段時間後進入休眠。 為了執行特定的任務,可以使用WakeLock獲取CPU鎖,但是這種方式有個弊端,CPU無法進入休眠,一旦進入休眠,執行緒就被掛起,無法執行

解決Android二維碼掃描ZXing豎拉伸長閃退掃描區域小等問題

這篇文章寫的不錯,但是按照這篇文章使用二維碼的話會出現豎屏掃描影象拉伸變長的問題(有一個地方計算錯誤),解決拉伸變長的問題後又會出現閃退的問題(傳輸大Bitmap物件導致閃退,改為Byte陣列或者不傳遞Bitmap) 其他地方不動,即可完美移植二維碼掃描功能 改動

Android 去掉橫豎切換時的轉動畫

正文 效能不好的手機上,當在橫豎屏畫面之間進行切換時會覺得螢幕有些卡。 如果在“設定”-> “開發人員選項”中關掉視窗過渡動畫,就不會有卡的問題,但這樣一來,所有視窗畫面的動畫切換效果都沒有了。 如果只想在橫豎屏切換時關掉切換動畫,應該如何實現呢? 修改fram

Android 解決後傳感器關閉問題_方法一:保持螢幕常亮

採用 <精通Android 3> 上的方法來解決 感測器監聽器被關閉的問題 螢幕關閉通常會導致感測器監聽器被關閉,所以另類的解決方法是設定螢幕為常亮狀態. 缺點耗電,有些手機會出現不明問題. 核心程式碼片: 需要在oncreat的時候設定 mPwrMgr =

Android控制

一.  前言我們的Android應用程式很多需要和亮屏和熄屏打交道,比如鬧鐘的時候,需要保持亮屏,之後又需要熄屏。那麼今天,我們來分析下這方面的功能。二.  系統服務 --- PowerManager.java顧名思義,PowerManager.java就是管理我們電源方面

Android 去掉橫豎切換時的動畫

直接上程式碼 ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); WindowManager windowManager = (WindowManager) getContext()

Android添加全啟動畫面

全屏 quest ray class max-width pub title nbsp hello 有的Android軟件需要在啟動的時候顯示一個啟動畫面,可以是一張圖或者一些設置什麽呢,還有一個好處就是,可以趁機在後臺加載數據。創建啟動畫面一般有兩種方式:1、建立一個ac

Android 設置橫或豎

new div highlight ati oid @override ride cape over private void init() { Button landButton = (Button) findViewById(R.id.landbut

Android端惡意鎖勒索應用分析

oid recovery 界面啟動 沒有 apk反編譯 人的 一律 reset 臺電腦 一、前言 5月12日,一場全球性互聯網災難悄然而至,一款名為WannaCRY的PC端惡意勒索軟件利用NSA泄漏的危險漏洞“永恒之藍”,給100多個國家和地區10

android App啟動白

顯示 draw 出現 com pan code 文件中 class 但是 app啟動的時候在啟動也顯示之前會出現白屏或黑屏的情況。 主要是因為視圖沒有及時填充上造成的,解決方式如下: 在style中添加以下代碼: <style name="SplashTheme"

忘了pull,直接修改並且commit的問題--github上傳內容檢查別人有沒有推送新代碼的解決方法

本地 最新 修改 完成 開始 找到 hub 沖突 span 早上來公司之後,忘了pull下最新的代碼,就直接開始在本地做更改了,而且還給commit上去了,結果推不上去,然後看見“pull”那裏顯示了有內容沒有pull下來,這下可糟了,當場就蒙圈了,不知道咋辦,幸好有學長助

Android學習筆記----閃主題

筆記 roi them android學習 ppt win app parent 學習 <!--閃屏主題--> <style name="welcome" parent="AppTheme"> <!--窗口透明--&g

【經典Bug】Android-初始化閃不消失

線程 界面 完成後 出現 增加 strong 版本更新 部分 子線程 問題描述: 業務上初始化過程要求顯示閃屏界面,某個版本更新後,發現部分場景下,初始化完成後閃屏界面不消失。 問題原因: 初始化是在子線程進行,閃屏屬於UI界面,需要UI線程展示。初始化過程和閃屏顯示在不同