2011-05-06 257 views
4

我想弄清楚如何關閉服務中的屏幕。我已經閱讀this,但我沒有意識到如何從服務內做到這一點。我真的不想處理喚醒鎖,因爲一旦屏幕熄滅,我並不真正關心通過Java代碼將其返回。我只需要一次性關閉屏幕的方法,並且我一直在尋找這個。Android:關閉服務屏幕

回答

3

我看到兩個選項:

(1)創建一個虛擬Activity,並用它通過getWindow();方法獲取Window對象。然後,您將使用Intent從您的Service關閉屏幕。 (1)使用IHardwareService.Stub。不是SDK的一部分,但是這個博客文章有一個解決方法:http://www.tutorialforandroid.com/2009/01/changing-screen-brightness.html

順便說一句:我會強烈推薦第一個選項。你永遠不知道何時不屬於SDK的類可能會改變。

+0

虛擬活動,你的意思是隻是創建一個活動,不要用XML膨脹?那可能嗎? – SemperGumbee 2011-05-07 02:17:18

+0

@Semper是的。但想一想,如果你只關心關閉屏幕,一個完全黑色的活動應該做同樣的伎倆。當然,除非你想關閉*設備*,但這是另一個問題。 – Aleadam 2011-05-07 06:40:31

+0

我會明天看看它,並在此回覆你。 Whowoudaevarthunk ...黑色活動:) – SemperGumbee 2011-05-07 07:07:53