2011-10-26 43 views
8

我知道Android和iPhone上的原生移動應用程序有很簡單的方法來防止手機進入睡眠狀態,但我正在構建一個在移動網絡瀏覽器中運行的移動Web應用程序,並且希望探索這種可能性。使用JavaScript/HTML保持手機在移動網絡瀏覽器中睡眠的技巧?

我有一種感覺,這是不可能出於安全原因,但我想也許有人已經想出了一個JavaScript技巧或在手機瀏覽器,如移動Safari,Firefox或Opera的作品?

+3

我不確定是否有可能。我懷疑不是。但我建議,如果你的應用程序依靠手機不睡覺,那麼你做錯了;而且你會因爲使用電池而煩惱的用戶不高興。 –

+0

@JohnWatson我們的應用程序不依賴於手機不睡覺;然而,對於我們的應用程序的特定部分,我們寧願讓手機保持清醒。 – K2xL

+1

爲什麼f ** k被關閉了?這是一個非常明智的問題,答案是否可能,而且很清楚。 – matteo

回答

-2

我對setInterval的經驗是,如果在相當長的一段時間內使用它,會導致內存泄漏並增加內存使用量。使用setTimeout在這裏可能很有用,可以保證每分鐘運行一個小函數。這應該讓手機保持活躍而不會佔用過多的內存。

在打開要保持開放的應用程序的一部分,

var id, 
    timeout = 600; 

id = setTimeout(stayOpen, timeout); 

var stayOpen = function() { 
    if (stillOnPage) { 
    id = setTimeout(stayOpen, timeout); 
    } 
}); 

當用戶離開,你應該清除超時

clearTimeout(id); 

編輯頁面:如果沒有按」那麼在stayOpen函數中可能會採取一些行動,這會觸發某些可以使手機保持清醒的狀態。接受建議。

+0

這確實能讓手機保持清醒嗎?我有點懷疑它... – Ryan

+0

我知道這是行不通的,因爲我們的應用程序目前有一個總是發生的設置超時...屏幕仍然關閉...我想也許有一些方法來模擬觸摸事件?這個工作可能會嗎? – K2xL