2010-12-28 14 views

Antwort

-1

auf diese Acording - http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness

Sie können die Helligkeit verändern, indem

WindowManager.LayoutParams settings = getWindow().getAttributes(); 
settings.screenBrightness = newValue; 
getWindow().setAttributes(settings); 

Auch verweisen Hamiora Antwort für weitere Erläuterungen.

+1

Hi! Ich möchte aber die Helligkeit nicht einstellen. – yuankai

+3

hi, float savedBrightness = settings.bildschirmHelligkeit; kann die aktuelle helligkeit aber nicht bekommen, ob von app übersteuert wird, und ich versuche es aber immer -1.0f davon zu bekommen, weil ich es nicht überschreibe! – yuankai

+0

@yuankai Sie sollten zusätzliche Überprüfung durchführen. Wenn Ihre 'savedBrightness' <0 ist, bedeutet dies, dass die Anwendung die Standardhelligkeit verwendet. Die Standardhelligkeitsstufe kann durch die Antwort von MidhunVP abgerufen werden. (Denken Sie daran, dass 'settings.screenBrightness' von 0f bis 1f reicht, während die Systemeinstellung Werte von 0 bis 255 hat) –

13

Hallo die aktuelle Helligkeitsstufe des Android-System erhalten Sie diesen Code verwenden können:

try { 
    float curBrightnessValue=android.provider.Settings.System.getInt(
    getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS); 
} catch (SettingNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+5

Nein, es liest die aktuellen Einstellungen der Helligkeit, nicht die aktuelle Helligkeit. – greenoldman

+1

@greenoldman Das ist wahr. Die aktuelle Helligkeit kann mit 'getWindow(). GetAttributes(). ScreenBrightness' abgerufen werden. Wenn diese aktuelle Helligkeit jedoch <0 ist, bedeutet dies, dass die Anwendung die aktuellen Einstellungen für die Helligkeit verwendet (die mit den Mitteln der aktuellen Antwort geladen werden kann). –

+0

'getInt()' Rückgabe der Methode Int value.But Brightness store as float.Better zu verwenden 'getFloat()' – Elshan

1

Das vor einiger Zeit gefragt wurde, aber nur auf Fiktion Antwort zu erweitern:

settings.screenBrightness gibt -1 zurück, wenn es zuvor nicht im Code überschrieben wurde. Dies ist ein korrektes Verhalten, wenn die Einstellung "Brightness" auf "-1" die Helligkeit auf die aktuelle Systemhelligkeitsstufe einstellt.

Diese Systemhelligkeit kann vom Benutzer jederzeit geändert werden, daher ist es wahrscheinlich nicht sinnvoll, den tatsächlichen Wert zu speichern, wenn Sie nur versuchen, die Helligkeit auf den ursprünglichen Wert zurückzusetzen, wie der tatsächliche Wert sein könnte "veraltet".

4

Sie können Inhalt dieser Systemdatei lesen

/sys/class/LED/LCD-Hintergrundbeleuchtung/Helligkeit

Dieser Wert ist aktuell die Bildschirmhelligkeit im Bereich von 0-255

Verwandte Themen