2012-11-03 60 views
1

我的应用程序为用户节省了原来的亮度与:改变屏幕亮度的onPause(Android应用程序)

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); 
} 
:当用户点击“主页”或当应用程序暂停原来的屏幕需要重新设置,我试图做到这一点是这样,但应用程序的迷恋现在我所要做的是

是否有男人它工作?由于

回答

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" /> 
+0

你能解释一下什么剂量android.provider.Settings.System.putInt( getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS,brightness/100.0f); // 0-255 – vlio20

+0

@VladIoffe:当你在提问''当用户点击“Home”或当应用程序暂停原始屏幕时需要重新设置时,您目前正在为Activity设置亮度而不是设备默认亮度'意味着你想恢复设备默认亮度,然后这是从设备自动完成。如果你有任何问题,那么你将需要修改系统默认设置作为我的答案 –

+0

@ VladIoffe:问题得到解决或不? –