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?

  • Android-Bildschirm Helligkeit Max Value?
  • Ändern Sie die Systemhelligkeit programmgesteuert
  • Einstellung screenBrightness Attribut auf 0.0f in Android 4.2.2 nicht mehr schaltet Bildschirm aus?
  • Ändern der Bildschirmhelligkeit programmgesteuert (wie beim Power-Widget)
  • Aktualisieren Sie die Display-Helligkeit auf Android, nachdem Sie sie programmgesteuert geändert haben
  • 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.