以程式修改系統亮度
初始嘗試與問題:
您已嘗試使用以下方式以程式設計方式更改系統亮度:
<code class="java">WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (255);
window.setAttributes(lp);</code>
登入後複製
但是,這種方法已被證明是無效的。
解:
要成功變更系統亮度,您應該採用以下方法:
-
初始化變數:
- 宣告一個變數來儲存所需的亮度值(例如亮度)。
- 建立一個 ContentResolver 句柄來存取系統設定(例如 cResolver)。
- 取得目前視窗物件的參考(例如 window)。
-
處理亮度設定:
- 將螢幕亮度模式設定為手動以停用自動亮度(例如,Settings. System.SCREEN_BRIGHTNESS_MODE_MANUAL)。
- 取得目前亮度等級:brightness = Settings.System.getInt(cResolver, Settings.System.SCREEN_BRIGHTNESS).
-
- 🎜>
- 使用調整後的亮度變數設定係統亮度:Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, Brightness)。
- 修改視窗屬性以符合新的亮度:window.getAttributes ().screenBrightness = 亮度 / 255f。
將更改應用到窗口:window.setAttributes(window.getAttributes()).-
將WRITE_SETTINGS 權限新增至您的AndroidManifest.xml。 -
對於Android API 等級>= 23,您可能需要透過活動提示請求WRITE_SETTINGS權限。
以上是如何在 Android 上以程式調整系統亮度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!