簡體   English   中英

WakeLock會導致手機重啟嗎?

[英]Could WakeLock cause phone reboot?

我有一個應用程序需要持續使用WiFi和加速度傳感器來收集數據,因此我需要使用WakeLock方法來保持這些傳感器處於活動狀態。 但是現在我遇到了一個問題,即手機在運行幾個小時后有時會隨機重啟。 我不知道這是由我的應用還是手機的固件引起的。 有人對此有想法嗎? 實際上,我認為應用程序中唯一一件特別的事情是我需要一直使用WakeLock ,所以喚醒鎖定會導致電話隨機重啟嗎?

WakeLock通常不會導致重新啟動問題。 您的編碼中可能還有其他問題。 WakeLock會消耗大量電池,如果使用后沒有釋放電池。

WakeLock是使屏幕保持打開狀態的一種低效方式。 而是使用WindowManager來做魔術。 下面的一行足以滿足WakeLock的要求。 WakeLock權限也需要此項才能起作用。 同樣,此代碼比wakeLock有效。

getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);

您無需手動釋放WakeLock。 此代碼將允許Android系統自動處理鎖定。 當您的應用程序位於前台時,將保持WakeLock,否則android系統會自動釋放Lock。

您應該在需要喚醒鎖的任何布局中嘗試使用android:keepScreenOn =“ true”。 它會自動處理它,最好在xml布局中設置它,因為它不會與顯示相關的代碼使您的代碼混亂。

正在Google IO 2009中進行討論。http: //dl.google.com/io/2009/pres/W_0300_CodingforLife-BatteryLifeThatIs.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM