Rumah >Java >javaTutorial >Cara Mengawal Kecerahan Skrin Secara Pengaturcaraan pada Android: Panduan Langkah demi Langkah
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!