Ubah Suai Kecerahan Sistem Secara Program
Untuk melaraskan kecerahan skrin peranti anda secara pengaturcaraan, anda boleh menggunakan pelbagai pendekatan. Satu kaedah biasa adalah untuk mengendalikan atribut kecerahan skrin:
<code class="java">WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = (float)brightness; window.setAttributes(lp);</code>
Walau bagaimanapun, teknik ini mungkin tidak selalu berfungsi kerana potensi pengehadan atau tetapan nilai maks yang salah.
Pendekatan alternatif ialah memanfaatkan tetapan sistem dan 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>
Anda kemudian boleh melaraskan kecerahan:
<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>
Jangan lupa sertakan kebenaran yang diperlukan dalam manifes anda:
<code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
Untuk tahap API 23 dan ke atas, anda perlu meminta kebenaran melalui Aktiviti Tetapan seperti yang diterangkan dalam dokumentasi.
Atas ialah kandungan terperinci Bagaimana untuk Melaraskan Kecerahan Skrin secara Program pada Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!