Android でシステムの明るさをプログラムで調整するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-25 02:56:29
オリジナル
286 人が閲覧しました

How to Programmatically Adjust System Brightness in Android?

プログラムによるシステムの明るさの調整

ウィンドウ レイアウト パラメーターの screenBrightness 属性を設定しているにもかかわらず、明るさの変化は観察されません。この問題により、システムの明るさをプログラムで変更するための代替方法の検討が求められます。

解決策:

システムの明るさを効果的に調整するには、次の手順を検討してください:

  1. アクティビティ クラスで次のインスタンス変数を宣言します。

    private int brightness;
    private ContentResolver cResolver;
    private Window window;
    ログイン後にコピー
  2. onCreate メソッド内で、コンテンツ リゾルバー、ウィンドウ参照、および現在のシステムの明るさを取得します。 :

    cResolver = getContentResolver();
    window = getWindow();
    
    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) {
        // Handle the error gracefully
    }
    ログイン後にコピー
  3. 明るさの変化を監視するメカニズムを実装します (例: SeekBar リスナー)。
  4. 明るさを調整するときは、更新された値を使用してシステムの明るさを設定します。明るさ変数を変更し、ウィンドウ属性を更新します:

    Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
    
    LayoutParams layoutpars = window.getAttributes();
    layoutpars.screenBrightness = brightness / 255f;
    window.setAttributes(layoutpars);
    ログイン後にコピー
  5. AndroidManifest.xml ファイルで必要な権限を宣言することを忘れないでください:

    <code class="xml"><uses-permission android:name="android.permission.WRITE_SETTINGS" /></code>
    ログイン後にコピー

注:

API レベル 23 (Android 6.0 Marshmallow) 以上の場合、設定アクティビティまたはアクティビティ経由で WRITE_SETTINGS 権限をリクエストする必要があります。互換性ライブラリ (ActivityCompat)。

以上がAndroid でシステムの明るさをプログラムで調整するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!