2012-11-24 93 views
0

我有一個簡單的電池測試應用程序,我爲Android寫的,現在已經成功地用於幾個版本。它在Android 4.1中正常工作應用程序只需將Chrome瀏覽器啓動到不同的網站,將時間記錄到數據庫,等待60秒,然後重新完成。無法保持屏幕睡在Android 4.2

現在,在Android 4.2中,屏幕關閉,系統進入休眠狀態,儘管我有一個喚醒鎖,並且設置了屏幕超時以避免使用設置。最令人討厭的是它在不確定的時間關閉,而不是在開始測試後的固定時間。任何想法我需要做什麼?

下面是我在一次又一次啓動瀏覽器的服務中調用的wakelock代碼。

super.onCreate(); 
    // Wakelock 
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); 
    wl.acquire(); 

我也把這個佈局文件

機器人:keepScreenOn =「真」

然而,由於Chrome是永遠的前臺窗口中應用程序的屏幕本身不是整個測試可見瀏覽器啓動器是一項服務,並且喚醒鎖正在服務中。

任何想法如何防止屏幕超時?似乎沒有任何工作。

+1

'機器人:keepScreenOn = 「真正的」'是沒用的你的情況,因爲只有當問題的小部件在前臺時才影響設備,而你的情況不是。 – CommonsWare

回答

0

我猜Android會殺死你的服務並導致你的wakelock被釋放。嘗試讓您的服務在前臺運行(使用startForeground())並查看是否有幫助。

2

只需添加下面一行到你的XML文件......

機器人:keepScreenOn = 「真」

:)