实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下:
1、在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、在程序中用代码实现。代码如下:
把这段代码加在setContentView(R.layout.main)之前即可,这种方法,安装时,不会提示安装人是否允许使用禁止休眠功能
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);