Standby API讓你可以在頂層瀏覽器頁面中請求屏幕持續(xù)顯示鎖。這可以防止設(shè)備進入省電狀態(tài)(例如屏幕自動關(guān)閉)。這個功能對有些web應(yīng)用來說至關(guān)重要。例如,想像一下你正在駕車并在手機上使用基于web的導(dǎo)航軟件(非本地應(yīng)用)。如果你不去觸碰屏幕的話,你的手機的屏幕會自動關(guān)閉,除非你事前在手機上進行過相關(guān)的設(shè)置。在這樣的情況下,通常你是想要讓屏幕保持顯示狀態(tài)的。這恰恰是這個API適用的地方。
這個API需要通過window.navigator對象下的wakeLock屬性來使用。它會提供兩個函數(shù):
- request(): 使當前應(yīng)用能讓屏幕保持顯示狀態(tài)。
- release(): 釋放持續(xù)顯示鎖,這樣屏幕就不會再被強制要求顯示。
這兩個函數(shù)都只接受一個參數(shù),其只能是“screen”或“system”。前者表示操作針對的是設(shè)備屏幕,而后者針對的是除屏幕之外如CPU或廣播之類的其他設(shè)備資源。
以下例子會演示如何適用該API讓設(shè)備屏幕保持顯示狀態(tài):
navigator.wakeLock.request("display").then( function successFunction() { // do something }, function errorFunction() { // do something else } );
要讓設(shè)備允許屏幕關(guān)閉,我們可以用以下方法:
navigator.wakeLock.release("display");
如果你想要了解關(guān)于Standby API的更多信息,可以參考這個非官方草案。