3

次のコードを使用して、アクティビティ内 (およびアプリ全体) で画面の明るさを変更することができました。

Settings.System.putFloat(this.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, ((float)LocationService.settings.screenBrightness));

WindowManager.LayoutParams lp = getWindow().getAttributes();
float brightness = someValue;
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);

ただし、アプリを閉じるとすぐに明るさが以前の設定に戻ります。これらの変更をアプリのライフサイクル外で永続化する方法はありますか?

ありがとう!

4

4 に答える 4

0

ここで多分あなたを助けます:

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();  
layoutParams.buttonBrightness = value;
getWindow().setAttributes(layoutParams);
于 2011-06-15T07:07:10.940 に答える
0

これを試して

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);

int brightnessLevel = 255;
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightnessLevel);

AndroidManifest.xml に WRITE_SETTINGS パーミッション セットが必要です。

http://android-er.blogspot.com/2011/02/change-system-screen-brightness-using.html

于 2012-10-22T07:13:29.300 に答える
0

設定アプリケーションは次のようにします。

private static final int MINIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_DIM + 10;
private static final int MAXIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_ON;

System.putInt(getContext().getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, value + MINIMUM_BACKLIGHT);

しかし、システム共有ユーザーIDがないとシステム設定を変更できないと思います

于 2012-10-22T07:16:25.143 に答える
0

androidMainfest.xml でパーミッションを提供します

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

0 から 255 までの整数を指定します

//number>=0 && number<=255
//If you have passed context then you can use context.getContentResolver()
android.provider.Settings.System.putInt(cgetContentResolver(),
            android.provider.Settings.System.SCREEN_BRIGHTNESS,
            number);
于 2015-07-15T19:36:58.457 に答える