任何知道爲什麼此代碼不會降低我的應用程序背光的人?Android短屏亮度代碼!
Context context = this;
Settings.System.putInt(context.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS, 255);
任何知道爲什麼此代碼不會降低我的應用程序背光的人?Android短屏亮度代碼!
Context context = this;
Settings.System.putInt(context.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS, 255);
應用不再允許修改整體亮度。不要使用人們試圖在各個方面提出的技巧,這些技巧使用私有API,並將以各種方式在不同設備上破解(並且被認爲是在更新版本的平臺上關閉的安全漏洞)。
官方API設置亮度與WindowManager.LayoutParams.screenBrightness,它可以讓你設置自己的應用程序窗口的亮度。當用戶移入和移出應用程序時,平臺會自動處理更改亮度。
使用此選項可以更改它:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = <some value between 0 and 1>;
getWindow().setAttributes(lp);
以防萬一這對其他人有用:您可以通過在上面的代碼中設置'lp.screenBrightness = -1;'將亮度設置爲自動。 – Chris 2011-09-25 22:59:15
不幸的是,在很多設備上,如果用戶設置了「自動亮度」,那麼更改窗口的屏幕亮度不起作用。在這種情況下,您需要禁用「自動亮度」設置才能使screenBrightness發揮作用。 – 2013-02-19 18:07:33
遵循這個代碼,我想我已經把一個評論對你以前的問題有關:)
參考那朵tuto
如果你想改變你的當前應用程序的亮度,使用代碼hackbod發佈
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = <some value between 0 and 1>;
getWindow().setAttributes(lp);
但我不能完全hackbod的帖子同意。絕對有可能在不使用黑客的情況下改變全局亮度。我只寫了一個簡短的演示應用程序。
訣竅是,首先應該改變應用程序的亮度,然後改變全局亮度。否則,只有設置菜單中的「亮度滑塊」改變其位置,但這不會影響亮度。只有當用戶點擊滑塊時,纔會應用亮度。
WindowManager.LayoutParams localLayoutParams = getWindow()
.getAttributes();
localLayoutParams.screenBrightness = 0.12F;
getWindow().setAttributes(localLayoutParams);
Settings.System.putInt(this.resolver, "screen_brightness", 30);
應用亮度範圍從0 - 1 全球亮度範圍從0 - 255(0 =顯示關閉)
而且是非常重要的要等待一段時間才能應用這些設置,如果你想退出之後。
Thread t = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println(e);
}
System.out.println("finally exit");
finish();
}
});
t.start();
的[無法以編程方式的Android應用的屏幕亮度設置]
可能重複(http://stackoverflow.com/questions/5032588/cant-apply-screen-brightness-settings-programmatically-in-android) – EboMike 2011-05-27 23:41:57