我在应用程序中使用以下代码,以防止设备屏幕超时/关闭。我在清单中使用了正确的权限。
屏幕保持打开状态:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
关闭屏幕:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
如果应用正在运行,则这些代码有效。但是,当我关闭应用程序时,这些标志似乎会自动清除,从而使我的设备正常超时。即使关闭应用程序,我也要保持屏幕打开状态。我尝试研究Wakeful Receiver服务,但似乎无法正常工作。另外,我注意到Wakeful Receiver在API 26中已贬值。有什么想法吗?预先感谢!