1

私のアプリは、ユーザーの元の明るさを次のように保存します。

originalBrightness = Settings.System.SCREEN_BRIGHTNESS;

プログラムの実行中に変更します。

originalBrightnessはプライベートグローバル文字列です。今私がやろうとしているのは、ユーザーが「ホーム」をクリックしたとき、またはアプリが一時停止したときに元の画面を再度設定する必要があるときです。このようにしようとしましたが、アプリがクラッシュします。

public void onPause() {
    super.onPause();
    int brightness = Integer.getInteger(originalBrightness);
    setBrightness(brightness);
}
private void setBrightness(int brightness) {
    WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
    layoutParams.screenBrightness = brightness / 100.0f;
    getWindow().setAttributes(layoutParams);
}

男性にはそれが機能しますか?ありがとう

4

1 に答える 1

1

Settings.System.SCREEN_BRIGHTNESSを使用して、システムのデフォルトの明るさを次のように設定してみてください。

android.provider.Settings.System.putInt(getContentResolver(),  
android.provider.Settings.System.SCREEN_BRIGHTNESS,brightness /100.0f); // 0-255 

マニフェストにこれらの権限を追加します:

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
于 2012-11-03T19:53:12.673 に答える