推荐使用:
// 在activity中
@Override
protected void onStart() {
super.onStart();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
@Override
protected void onStop() {
super.onStop();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
以下方法已经废弃了
private PowerManager.WakeLock mWakeLock = null;
...
public void onCreate(Bundle saveInstanceState){
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"类名");
mWakeLock.acquire();
}
...
public void onStop(){
if(mWakeLock != null){
mWakeLock.release();
mWakeLock = null;
}
}
...
-
PARTIAL_WAKE_LOCK
屏幕和键盘背光将被允许关闭 -
SCREEN_DIM_WAKE_LOCK
确保屏幕上(但可能会变暗)的键盘背光将被允许关闭 -
SCREEN_BRIGHT_WAKE_LOCK
确保屏幕上是在全亮度的键盘背光将被允许关闭 -
FULL_WAKE_LOCK
确保屏幕和键盘背光是在全亮度