1.Wake Lock是一种锁的机制
在Manifest.xml文件里面用user-permission声明。代码如下:
这种方法,在安装apk时,系统会提示安装人是否允许使用禁止休眠功能。
<uses-permission android:name="android.permission.WAKE_LOCK" />
为了不对其他程序造成影响,启用和关闭屏幕常亮的代码一般被放在 Activity 的 onResume() 和 onPause() 事件中。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); //MyTag可以随便写,可以写应用名称等 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyTag"); //在释放之前,屏幕一直亮着(有可能会变暗,但是还可以看到屏幕内容,换成PowerManager.SCREEN_BRIGHT_WAKE_LOCK不会变暗) wl.acquire(); wl.release();
2.使用屏幕的keep screen on flag
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
3.在vew里面有keep flag:
android:keepScreenOn="true"