当应用程序发送通知时,我正在尝试打开屏幕。目前,当我acquire
使用WakeLock
它时,它会非常快速地闪烁,几乎不明显。据我所知,我的标志设置正确。AQUIRE_CAUSES_WAKEUP
打开屏幕并ON_AFTER_RELEASE
(戳用户活动计时器)在我释放它后将其保持打开状态 - 否则,我理解它会立即自行关闭......有人有见识吗?
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "TAG");
if(mTurnScreenOn) {
wl.acquire();
Log.d("TAG", "WakeLock Acquired");
if(pm.isScreenOn()) { Log.d("TAG", "Screen is on");
} else { Log.d("TAG", "Screen is off"); }
}
mNotificationManager.notify(1, notification);
if(mTurnScreenOn) { //release the wakelock if needed
wl.release();
Log.d("TAG", "WakeLock Released");
if(pm.isScreenOn()) { Log.d("TAG", "Screen is on");
} else { Log.d("TAG", "Screen is off"); }
}