我正在嘗試從小部件中設置屏幕亮度。我們知道這是很容易可能的,因爲噸的小部件已經這樣做了,但如何.....刷新小部件的顯示?
在服務我從窗口小部件撥打我做這個設置亮度:
Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 200);
這一工程除非它不刷新屏幕以應用新的設置。關閉和關閉屏幕會刷新顯示設置,因此我們知道代碼正常工作。
我也在幾個網站上看過類似的東西會刷新屏幕,但我們不能使用它,因爲我們在一個小部件。小部件活動和服務不能使用getWindow。
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100/100.0f;
getWindow().setAttributes(lp);
要不然怎麼都是這些小部件一樣美麗的小工具,功率控制,擴展控制,等等這樣做呢?
更新: 另一個海報推薦開啓空活動並執行WindowManager刷新。這很有效,但它爲第二個屏幕帶來了一個醜陋的黑屏。由於其他小部件不這樣做,所以必須有一種方法來保持不顯示空白的黑屏。
對於blackscreen,設置主題上的活性,含有這樣:<樣式名稱= 「Theme.Transparent」 父= 「機器人:主題」> <項名稱= 「機器人:windowIsTranslucent」>真 <項名稱= 「機器人:windowBackground」> @彩色/透明 <項目名= 「機器人:windowContentOverlay」> @空 <項目名= 「機器人:windowNoTitle」>真 <項目名= 「機器人:windowIsFloating」 > true- false
–
2011-01-10 06:26:38
工作完美!您是否想將其作爲下面的答案發布給所有人?我用你的主題,並將其設置在我的清單中。 – pcm2a 2011-01-10 17:55:12