В приложении для iOS вы можете установить application.idleTimerDisabled = YES
, чтобы запретить автоматическую блокировку телефона.
Мне нужно сделать это в мобильном сафари для такой игры, как Doodle Jump, где пользователь может не касаться экрана в течение длительного периода времени. Есть ли какой-нибудь документированный метод или хак для этого?
(Update)
Кажется, они делают это как-то на этом сайте http://www.uncoveryourworld.com. Посещение с вашего iphone, и когда вы добираетесь до зданий / уличной сцены с музыкой, играющей на заднем плане, просто оставьте свой телефон в покое. Он никогда не ложится спать.
(обновление 2)
Я потратил некоторое время, чтобы поближе взглянуть на то, как они могут удерживать телефон от засыпания. Я провел тест «Баскетбол», и кажется, что то, как они зацикливают звук на уличной сцене, не дает ему уснуть. Если вы хотите проверить это, просто установите простой аудиопроигрыватель на вашей странице и нажмите кнопку воспроизведения:
<audio src="loop.mp3" onended="this.play();" controls="controls" autobuffer></audio>
Везде, где я искал, говорят, что это невозможно, поэтому приятно видеть, что есть хотя бы какой-то способ сделать это, даже если немного взломать. В противном случае игра на основе браузера с игрой в стиле каракули не была бы возможной. Таким образом, вы можете иметь цикл в вашей игре / приложении, если это уместно, или просто играть в немом цикле.