2011-10-26 10 views
8

Wiem, że dla natywnych aplikacji mobilnych na Androida i iPhone'a istnieją proste sposoby, aby nie zasypiać telefonu, ale buduję mobilną aplikację internetową działającą w przeglądarce mobilnej i chciałbym zbadać tę możliwość.Sztuczki, dzięki którym telefon nie będzie spał w przeglądarce mobilnej za pomocą JavaScript/HTML?

Mam przeczucie, że nie jest to możliwe ze względów bezpieczeństwa, ale pomyślałem, że może ktoś wpadł na sztuczkę JavaScript lub coś, co działa w przeglądarkach mobilnych, takich jak mobilne Safari, Firefox lub Opera?

+3

Nie wiem na pewno, czy to możliwe. Podejrzewam, że nie. Ale sugeruję, że jeśli twoja aplikacja zależy od tego, czy telefon nie śpi, to robisz to źle; i będziesz denerwować użytkowników, którzy są zirytowani z powodu wyczerpania baterii. –

+0

@ John Khatson nasza aplikacja nie zależy od telefonu nie śpiąc; jednak w przypadku konkretnej części naszej aplikacji wolimy, aby telefon nie zasypiał. – K2xL

+1

Dlaczego f ** k było zamknięte? Jest to bardzo rozsądne pytanie, czy odpowiedź jest taka, czy jest możliwa, czy nie, i to całkiem jasne. – matteo

Odpowiedz

-2

Moje doświadczenie z setInterval polega na tym, że powoduje przecieki pamięci i zwiększa zużycie pamięci, jeśli jest używana przez dłuższy czas. Używanie setTimeout jest prawdopodobnie tutaj użyteczne, aby co minutę uruchamiać małą funkcję. To powinno utrzymać telefon przy życiu bez zużywania nadmiernej ilości pamięci.

Po otwarciu części aplikacji, które chcesz zachować otwarty,

var id, 
    timeout = 600; 

id = setTimeout(stayOpen, timeout); 

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

Gdy użytkownik opuszcza stronę należy wyczyścić czasu na

clearTimeout(id); 

EDIT: Jeśli to robi” t działa wtedy może być pewne działanie, które można podjąć w ramach funkcji stayOpen, która wyzwala coś, co będzie utrzymywać telefon w stanie czuwania. Otwórz na sugestie.

+0

Czy to rzeczywiście sprawia, że ​​telefon się budzi? Wątpię w to ... – Ryan

+0

Wiem, że to nie działa, ponieważ nasza aplikacja ma ustawiony czas oczekiwania, zawsze występujący ... ekran wciąż się wyłącza ... Myślałem, że może istnieje jakiś sposób symulowania zdarzeń dotykowych? Czy to może być praca? – K2xL

Powiązane problemy