2012-02-27 62 views
1

我需要通過我的應用更改Android屏幕亮度。 我見過的所有現有答案都與窗口屏幕亮度有關,但我需要設備亮度。如何管理Android設備亮度

+0

我覺得OP要真正使屏幕更亮/暗,不僅改變亮度的報告值。 – 2012-02-27 14:33:55

回答

1

要改變亮度的設備設置你需要這樣做:

android.provider.Settings.System.putInt(getContentResolver(), 
    android.provider.Settings.System.SCREEN_BRIGHTNESS, brightness); 

brightness必須然而0和255之間的整數記住的是,屏幕亮度設置爲0將關閉屏幕關閉並重新打開它並不容易。所以總是檢查亮度> 0(我個人設置最低亮度爲10)。

讓我知道你是否還有其他問題。

+0

爲什麼這段代碼導致我的應用程序預期停止?在Android 4.1模擬器上。 – JackWM 2013-02-24 02:47:12

0

根據我的經驗

1st method. 
    WindowManager.LayoutParams lp = getWindow().getAttributes(); 
        lp.screenBrightness = 75/100.0f; 
        getWindow().setAttributes(lp); 

在亮度值非常根據1.0f.100f是最大亮度。

上面提到的代碼會增加當前窗口的亮度。 如果我們想提高整個Android設備的亮度這段代碼是不夠的, 爲此,我們需要使用

2nd method. 
android.provider.Settings.System.putInt(getContentResolver(), 
          android.provider.Settings.System.SCREEN_BRIGHTNESS, 192); 

其中192是亮度值很爲1〜255 的主要問題使用第二種方法是它會在Android設備中以增加的形式顯示亮度,但實際上它不會增加Android設備的亮度。這是因爲它需要一些清爽。

這就是爲什麼我通過同時使用兩個代碼找出解決方案的原因。

   if(arg2==1) 
        { 

      WindowManager.LayoutParams lp = getWindow().getAttributes(); 
        lp.screenBrightness = 75/100.0f; 
        getWindow().setAttributes(lp); 
        android.provider.Settings.System.putInt(getContentResolver(), 
          android.provider.Settings.System.SCREEN_BRIGHTNESS, 192); 


         } 

一切正常,我