Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich die Bildschirmhelligkeit auf Android programmgesteuert anpassen?

DDD
Freigeben: 2024-10-25 06:31:02
Original
407 Leute haben es durchsucht

How to Programmatically Adjust Screen Brightness on Android?

Systemhelligkeit programmgesteuert ändern

Um die Helligkeit des Bildschirms Ihres Geräts programmgesteuert anzupassen, können Sie verschiedene Ansätze verwenden. Eine gängige Methode ist die Handhabung der Bildschirmhelligkeitsattribute:

<code class="java">WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (float)brightness;
window.setAttributes(lp);</code>
Nach dem Login kopieren

Diese Technik funktioniert jedoch möglicherweise aufgrund möglicher Einschränkungen oder falscher Maximalwerteinstellungen nicht immer.

Ein alternativer Ansatz ist die Hebelwirkung die Systemeinstellungen und ContentResolver:

<code class="java">private ContentResolver cResolver;
private Window window;
private int brightness;

onCreate() {
    cResolver = getContentResolver();
    window = getWindow();

    try {
        // Handle auto brightness mode
        Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        // Retrieve current brightness
        brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
    } catch (SettingNotFoundException e) {
        Log.e("Error", "Cannot access system brightness");
        e.printStackTrace();
    }
}</code>
Nach dem Login kopieren

Sie können dann die Helligkeit anpassen:

<code class="java">// Update system brightness
Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);

// Update window brightness attributes
LayoutParams layoutpars = window.getAttributes();
layoutpars.screenBrightness = brightness / 255f;
window.setAttributes(layoutpars);</code>
Nach dem Login kopieren

Vergessen Sie nicht, die erforderliche Berechtigung in Ihr Manifest aufzunehmen:

<code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
Nach dem Login kopieren

Für API-Level 23 und höher müssen Sie die Erlaubnis über die Aktivität „Einstellungen“ anfordern, wie in der Dokumentation beschrieben.

Das obige ist der detaillierte Inhalt vonWie kann ich die Bildschirmhelligkeit auf Android programmgesteuert anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage