Wechselnde Bildschirmhelligkeit programmgesteuert in android

Ich möchte die Bildschirmhelligkeit programmgesteuert in android ändern. Im Moment benutze ich diesen Code:

WindowManager.LayoutParams lp = getWindow().getAttributes(); float brightness=1.0f; lp.screenBrightness = brightness; getWindow().setAttributes(lp); 

Aber dieser Beispielcode arbeitet auf Cupcake, nicht auf den neuesten Versionen. Ich benutze die neueste Version von SDK .. Was ist die bevorzugte Lösung für neuere Android Versionen?

  • Ungebundenen Service in Kotlin anlegen
  • Gefundene 2 Versionen von android-support-v4.jar in der Abhängigkeitsliste appcompat in android
  • Best Practice für die Definition von Button-Events in Android
  • Übergeben von JSON-Daten in Anfrage als Anforderungskörper
  • Android-Video-Filter
  • Kann nicht mit Jackson arbeiten
  • Android, wie man die aktuelle Aufgabe Liste, die von Home-Taste in den meisten Telefon bekommen könnte klar? Reflexion ist ein möglicher Weg?
  • Wie bekomme ich ein Bild von einem Ort von Google Maps oder Orten API
  • Größe einer Hallo World Android App
  • Messen Sie Daten-Roaming-Verkehr auf Android?
  • Theme nicht angewendet mit appcompat Bibliothek auf einigen Android 4.X-Geräte
  • Session.isOpened () == true aber Session.getAccessToken () == ""
  • 6 Solutions collect form web for “Wechselnde Bildschirmhelligkeit programmgesteuert in android”

    Wie wäre es mit der IHardwareService-Schnittstelle? Ein Beispiel finden Sie in diesem Tutorial .

    Update: Tutorial Link funktioniert immer noch, aber der aktuelle Code ist auch in der nächsten Antwort verfügbar.

    Dies ist möglich mit:

     WindowManager.LayoutParams layout = getWindow().getAttributes(); layout.screenBrightness = 1F; getWindow().setAttributes(layout); 

    Siehe auch: http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness

    Sie müssen params zu dem Window hinzufügen, bevor es erstellt wird, sonst wird es werfen java.lang.IllegalArgumentException: Window type can not be changed after the window is added.

    Siehe das Beispiel mit einem android.app.Dialog.Dialog .

     final Dialog dialog = new Dialog(this) { @Override public void onAttachedToWindow() { super.onAttachedToWindow(); WindowManager.LayoutParams layout = getWindow() .getAttributes(); layout.screenBrightness = 1F; getWindow().setAttributes(layout); } }; dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.show(); 

    Bitte beachten Sie, dass der Helligkeitswert zwischen 0,0F und 1,0F liegt.

    @kamal_tech_view: Sie müssen den Wert layout.screenBrightness = value umwandeln . schweben

    Zu spät antworten aber wollen verbessern

    Ich habe mit dem Code von Tor-morten versucht, aber es ist für einen bestimmten Bildschirm selbst, ich wollte irgendwo wechseln, ich habe dafür gedient.

    Ändern Sie die Helligkeit entsprechend dem umgebenden Licht in android

    Hoffnung, es wird für andere nützlich sein.

     final Dialog dialog = new Dialog(act); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog .setContentView(R.layout.menubase_brightness_control); dialog.setCanceledOnTouchOutside(true); SeekBar global_brightness_control = (SeekBar) dialog .findViewById(R.id.global_brightness_control); global_brightness_control.setMax(255); global_brightness_control.setProgress(Settings.System.getInt( con.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS)); global_brightness_control .setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Settings.System .putInt(con.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, progress); } }); dialog.show(); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.