關於iPad事件,如何確定iPad何時/何時從清醒狀態變爲待機狀態?使用Javascript在iPad上處理待機狀態
我想要做的就是當iPad變爲不活動/待機狀態時,將我的Mobile-Safari Web應用程序置於鎖定狀態,並在再次喚醒時詢問PIN。
關於iPad事件,如何確定iPad何時/何時從清醒狀態變爲待機狀態?使用Javascript在iPad上處理待機狀態
我想要做的就是當iPad變爲不活動/待機狀態時,將我的Mobile-Safari Web應用程序置於鎖定狀態,並在再次喚醒時詢問PIN。
我同意真的應該有一些信號可以幫助您瞭解應用程序何時進入休眠狀態以及何時醒來,但您應該能夠確定Safari何時間接喚醒。
當webview進入後臺時,Safari將其中的所有內容都置於睡眠狀態。它暫停任何視頻,延遲網絡請求,停止更新UI並暫停所有setInterval/setTimeout操作。 JS本身永遠不會意識到(據我所知)這些事情是如何發生的,但它可以說明它已經發生。使用這種方法最簡單的方法是構建一個定期調用的方法,並檢查自上次更新以來是否出現意外的長時間。如果您希望每10秒鐘更新一次,並且已經過了五分鐘,則可以確信設備已被喚醒。下面是一個簡單的例子,我想起來:
var intTime = new Date().getTime();
var getTime = function() {
var intNow = new Date().getTime();
if (intNow - intTime > 1000) {
console.log("I JUST WOKE UP")
}
intTime = intNow;
setTimeout(getTime,500);
};
getTime();
當用戶已經從另一個選項卡返回這將檢測,駁回開發者控制檯,或從後臺帶回來的Safari瀏覽器。我已經設定了半秒的時間間隔;您可以將其設置爲任何您需要的值,但我認爲非常低的值會產生併發問題,並可能會不必要地在設備上燒燬電池。
Mobile Safari無法訪問此級別的硬件狀態。我認爲最多的是加速器。
爲我工作的一個可能的解決方案是使用
$(window).on('blur', function(){});
感謝丹尼爾,我剛剛發現這個鏈接也與此相關的http://stackoverflow.com/questions/4401764/what-event-fires- when-a-webkit-webapp-is-terminated – rcarrier 2011-02-09 02:34:31
我只是無法想象,發送應用程序(包括Mobile Safari)很難接收到「即時終止警告」信號,您可以聽取並據此進行規劃。我的意思是iOS可能具有這種硬件狀態信息本身......「簡單地說」把它推到應用層*應該是可行的? – rcarrier 2011-02-09 02:48:29