Rumah  >  Artikel  >  Java  >  Cara Mengawal Kecerahan Skrin Secara Pengaturcaraan pada Android: Panduan Langkah demi Langkah

Cara Mengawal Kecerahan Skrin Secara Pengaturcaraan pada Android: Panduan Langkah demi Langkah

Linda Hamilton
Linda Hamiltonasal
2024-10-25 12:34:02315semak imbas

How to Programmatically Control Screen Brightness on Android: A Step-by-Step Guide

Melaraskan Kecerahan Sistem Secara Program: Panduan Komprehensif

Menukar kecerahan sistem secara pemprograman ialah ciri berguna untuk aplikasi yang memerlukan kawalan pencahayaan paparan peranti . Artikel ini membentangkan penyelesaian terperinci untuk tugas ini.

Pendekatan Awal: Menetapkan Atribut Kecerahan Skrin

Pendekatan awal anda menggunakan WindowManager.LayoutParams mempunyai had. Medan ScreenBrightness hanya mengambil nilai dari 0.0 hingga 1.0, bukan nilai maksimum yang dijangkakan sebanyak 255.

Penyelesaian Alternatif: Menggunakan API Tetapan

Penyelesaian yang lebih mantap terdapat dalam API Tetapan. Dengan menggunakan kelas ContentResolver dan System, anda boleh memanipulasi tetapan kecerahan sistem secara langsung. Begini caranya:

1. Permulaan:

a. Tentukan pembolehubah persendirian untuk menyimpan nilai kecerahan.
b. Dapatkan ContentResolver dan objek Window semasa.
c. Mulakan pembolehubah kecerahan dengan kecerahan sistem semasa.

2. Memantau Perubahan Kecerahan:

Tulis kod untuk mendengar dan bertindak balas terhadap perubahan kecerahan.

3. Mengemas kini Kecerahan:

a. Tetapkan kecerahan sistem menggunakan Settings.System.putInt() dan nilai kecerahan yang dikemas kini.
b. Kemas kini atribut Window dengan menetapkan layoutpars.screenBrightness kepada nilai kecerahan yang dinormalkan kepada 1.0.
c. Gunakan perubahan atribut pada tetingkap.

4. Kebenaran Manifes:

Untuk Android Marshmallow dan ke atas, anda perlu meminta kebenaran WRITE_SETTINGS melalui Aktiviti Tetapan.

Contoh Kod:

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

@Override
protected void onCreate(Bundle savedInstanceState) {
    // Initialize settings and brightness.

    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) {
        Log.e("Error", "Cannot access system brightness");
        e.printStackTrace();
    }

    // Monitor brightness changes...

}

// Method to update brightness
public void setBrightness(int newBrightness) {
    // Update system brightness and window attributes.
}</code>

Dengan mengikut langkah-langkah ini, anda boleh menukar kecerahan sistem secara pemprograman dengan berkesan, memberikan lebih fleksibiliti dan pilihan penyesuaian untuk aplikasi anda.

Atas ialah kandungan terperinci Cara Mengawal Kecerahan Skrin Secara Pengaturcaraan pada Android: Panduan Langkah demi Langkah. 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