2016-07-25 115 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

相关问题