您的位置:首页 > 移动开发 > Android开发

Android应用禁止屏幕休眠的几种方法

2017-10-11 15:07 423 查看
做Android应用开发时,有时需要在应用前台运行时,禁止休眠,以下几种方法供参考。

方法一:

添加休眠锁,休眠锁必须成对出现。

private WakeLock mWakeLock;

private void acquireWakeLock() {
if(mWakeLock == null) {
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP,
this.getClass().getCanonicalName());
mWakeLock.acquire();

}

}

private void releaseWakeLock() {
if(mWakeLock != null) {
mWakeLock.release();
mWakeLock = null;
}
}

AndroidManifest.xml文件中添加权限:

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.DEVICE_POWER" />


方法二:

在Activity布局中设置Windows属性进行控制,但是一定要在加载布局之前执行,此种方法的局限性是只有在Activity类中有效,Activity退出时失效。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.***);


方法三:

在View布局中添加属性,此种方法的好处是不一定非要在Activity界面运行时屏幕常亮才有效,View启动后可以自主设置。

View的xml布局中加入:

android:KeepScreenOn="true"


代码中执行是否保持屏幕常亮:

View.setKeepScreenOn(true);
View.setKeepScreenOn(false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息