Rumah  >  Artikel  >  Java  >  Bagaimana untuk Melaraskan Kecerahan Sistem Secara Pengaturcaraan dalam Android?

Bagaimana untuk Melaraskan Kecerahan Sistem Secara Pengaturcaraan dalam Android?

Barbara Streisand
Barbara Streisandasal
2024-10-25 02:56:29285semak imbas

How to Programmatically Adjust System Brightness in Android?

Melaraskan Kecerahan Sistem Secara Pengaturcaraan

Walaupun menetapkan atribut ScreenBrightness bagi parameter susun atur tetingkap, tiada perubahan dalam kecerahan diperhatikan. Isu ini mendorong penerokaan kaedah alternatif untuk mengubah kecerahan sistem secara pemrograman.

Penyelesaian:

Untuk melaraskan kecerahan sistem dengan berkesan, pertimbangkan langkah berikut:

  1. Isytiharkan pembolehubah contoh berikut dalam kelas aktiviti anda:

    private int brightness;
    private ContentResolver cResolver;
    private Window window;
  2. Dalam kaedah onCreate, dapatkan semula penyelesai kandungan, rujukan tetingkap dan kecerahan sistem semasa :

    cResolver = getContentResolver();
    window = getWindow();
    
    try {
        Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS);
    } catch (SettingNotFoundException e) {
        // Handle the error gracefully
    }
  3. Laksanakan mekanisme untuk memantau perubahan dalam kecerahan (cth., pendengar SeekBar).
  4. Apabila melaraskan kecerahan, tetapkan kecerahan sistem menggunakan kemas kini pembolehubah kecerahan dan kemas kini atribut tetingkap:

    Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
    
    LayoutParams layoutpars = window.getAttributes();
    layoutpars.screenBrightness = brightness / 255f;
    window.setAttributes(layoutpars);
  5. Jangan lupa untuk mengisytiharkan kebenaran yang diperlukan dalam fail AndroidManifest.xml:

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

Nota:

Untuk tahap API yang lebih besar daripada atau sama dengan 23 (Android 6.0 Marshmallow), anda perlu meminta kebenaran WRITE_SETTINGS melalui Aktiviti Tetapan atau melalui Aktiviti Pustaka Keserasian (ActivityCompat).

Atas ialah kandungan terperinci Bagaimana untuk Melaraskan Kecerahan Sistem Secara Pengaturcaraan dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn