2016-07-25 119 views
0

我正在使用此代碼打開屏幕。Android屏幕以編程方式打開

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON 
    | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON); 

但是在第一次使用此代碼後,屏幕再也不會關閉。 我想要打開屏幕,但在屏幕關閉時間結束後,屏幕再次關閉。 我該怎麼辦?

+0

我不明白你想在這裏的行爲。你可以重寫「我想要打開屏幕,但在屏幕關閉時間後屏幕再次關閉。」部分? – ddb

+0

無論如何,也許這個問題是http://stackoverflow.com/questions/4807634/disable-keep-screen-on – ddb

回答

1

打開屏幕上:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

要關閉,你應該清楚你已經設置的標誌:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

注意,應用程序不能迫使屏幕關閉時,只能釋放它所擁有的鎖定,所以系統可以關閉屏幕,就像沒有你的應用程序一樣。

+0

的副本但是,當我做clearFlags時,屏幕無法打開。因爲當我清除這個標誌時,屏幕還沒有打開。 –

+0

你是否從UI線程調用了這個? – auval

相關問題