2011-08-18 65 views
2

从这篇文章中,Android disable screen timeout while app is running,我可以编程方式禁用屏幕超时

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

禁用屏幕超时我的问题是我会安全地

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
+0

不[WakeLock](http://developer.android.com/reference/android/os/PowerManager.WakeLock.html)做你想做的事吗?我确定这是首选的方式。 – Rob

+0

我在这里看到一些帖子说'WakeLock'耗尽手机电池。我不确定哪一个是首选的方式。请指教。 – michael

回答

0

你只是想在屏幕,使屏幕超时关闭应用程序后超时?或者是你的应用程序中的某些东西会重置屏幕超时,以便即使在您的应用程序运行时也会发生这种情况。

如果前者我不认为你需要做任何事情,当你的应用程序停止时,屏幕超时将恢复正常。

如果后者看起来像你所提供的代码段会做的伎俩。但我没有经验,所以我不能确定。

0

是的,这将工作 - 这是我要做的事在PocketSat3,虽然我不切换FLAG_FULLSCREEN(当然,这说的 - 该应用不使用FLAG_FULLSCREEN ...)

与使用激活锁定,这样做并不需要任何许可 - 尽管我不得不承认,对我而言这并不是一件好事。