7
我的活動以部分喚醒鎖運行,因爲它持續處理接收到的藍牙數據。喚醒鎖設置如下:如何在部分喚醒鎖定期間打開屏幕
powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
當發生某些事件時,我想在顯示屏上顯示,以便用戶查看狀態。我想讓顯示器自動打開,而不是通過用戶按鍵。 但是,所有嘗試這樣做都失敗了。 當使用部分喚醒鎖定運行時,顯示屏關閉時,我嘗試重新顯示屏幕並讓用戶看到當前活動失敗。我曾試圖僞造的用戶活動:
PowerManager NewPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
NewPowerManager.userActivity(1, false);
設置標誌的窗口:
Window win = getWindow();
win.setFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
即使釋放喚醒鎖,並開始另一個應該打開屏幕:
if (wakeLock != null)
{
wakeLock.release(); // release the wakelock
}
PowerManager.WakeLock TempWakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP, "TempWakeLock");
// tried | PowerManager.ON_AFTER_RELEASE to no avail
TempWakeLock.acquire();
有什麼我在這裏失蹤?我並非試圖開放一項新的活動,而只是向用戶展示我目前的活動。 有沒有其他人能夠做到這一點? 謝謝你可以給我的任何幫助。