亮屏需求:1. 使屏幕常亮(满足条件下:收到特定广播后,使屏幕常亮;收到另一特定广播,取消常亮功能)
2. 屏幕自动熄灭后,将屏幕亮起(包括:手机在指定时间后自动熄灭,按下锁屏键后熄灭)
三种方案:
(1)通过view.Window实现
Window window;
window=getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//取消亮屏
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
这种方法可以实现屏幕常亮与取消常亮功能,但在屏幕自动熄灭后无法点亮屏幕。
因为Window:通过控制顶层窗口的外观行为,使屏幕亮起;屏幕自动熄灭后会锁屏,所以无法点亮屏幕,只能保持屏幕常亮。
(2)通过WakeLock实现
要申请权限
<uses-permission android:name="android.permission.WAKE_LOCK" />
获取电源管理