![How to Programmatically Adjust System Brightness on Android?](https://img.php.cn/upload/article/000/000/000/172981272595757.jpg)
システムの明るさをプログラム的に変更する
最初の試みと問題:
以下を使用してシステムの明るさをプログラム的に変更しようとしました。
<code class="java">WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (255);
window.setAttributes(lp);</code>
ただし、この方法は効果がないことがわかっています。
解決策:
システムの明るさを正常に変更するには、次のアプローチを採用する必要があります。 :
-
変数の初期化:
- 必要な明るさの値 (明るさなど) を保存する変数を宣言します。
- システム設定にアクセスするための ContentResolver ハンドルを作成します (例: cResolver)。
- 現在のウィンドウ オブジェクト (例: window) への参照を取得します。
-
明るさ設定のハンドル:
- 自動明るさを無効にするには、画面の明るさモードを手動に設定します (Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL など)。
- 現在の明るさレベル:明るさ = 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()).
-
マニフェスト権限:
- AndroidManifest.xml に WRITE_SETTINGS 権限を追加します。
-
追加の考慮事項:
- Android API レベル >= 23 の場合、アクティビティ プロンプトを通じて WRITE_SETTINGS 権限をリクエストする必要がある場合があります。
以上がAndroid でシステムの明るさをプログラムで調整するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。