6

画面の明るさをプログラムで変更する必要があります。このような複数のソリューションを読みました Android でシステム画面の明るさをプログラムで適用できません

私の問題は、これらの解決策は、アクティビティを効果的に変更することを意味すること (ダミーのアクティビティのようなものをすぐに終了させること) であり、アクティビティ スイッチのオーバーヘッドを回避したいと考えています。

他の解決策はありますか...おそらくネイティブコードを使用して、画面の明るさがすぐに変わるようにしますか?

4

1 に答える 1

7

以下は、単一のアクティビティにすぐに影響し、再起動する必要はありません。アクティビティは、一時停止/再開時に screenBrightness 属性も記憶します。

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1; // 0f - no backlight ... 1f - full backlight
getWindow().setAttributes(lp);

ただし、システム設定で自動バックライト レベルを有効にしている場合は効果がありません。このソリューションは、自動バックライトをオフにするのに役立ちます。

于 2013-04-20T12:51:03.063 に答える