首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript处理iPad上的待机

使用Javascript处理iPad上的待机
EN

Stack Overflow用户
提问于 2011-02-09 10:10:23
回答 3查看 12.3K关注 0票数 17

关于iPad事件,如何确定iPad是否/何时从唤醒状态变为待机状态?

我想要做的是在iPad处于非活动/待机状态时将我的Mobile-Safari web应用程序设置为锁定状态,并在它再次唤醒时要求提供PIN码。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-09 11:44:30

我同意确实应该有一些信号可以让你知道应用程序何时进入睡眠状态以及何时唤醒,但你应该能够间接地知道Safari何时唤醒。

当webview进入后台时,Safari会将其中的所有内容置于睡眠状态。它会暂停所有视频、延迟网络请求、停止更新UI并暂停所有setInterval/setTimeout操作。JS本身永远不会知道(据我所知)这些事情是如何发生的,但它可以告诉我们它已经发生了。使用它的最简单的方法是构建一个定期调用的方法,并检查自上次更新以来是否已经有很长时间了。如果你希望每10秒更新一次,而现在已经过了5分钟,那么你可以相当确定设备已经唤醒了。下面是我想出来的一个简单的例子:

代码语言:javascript
复制
    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。我将间隔设置为半秒;您可以将其设置为您需要的任何值,尽管我认为非常低的值会出现并发问题,并且可能会不必要地烧掉设备上的电池。

票数 34
EN

Stack Overflow用户

发布于 2011-02-09 10:15:44

Mobile Safari无法访问此级别的硬件状态。我想最多的就是加速器了。

票数 1
EN

Stack Overflow用户

发布于 2017-01-21 04:33:51

对我有效的一种可能的解决方案是使用

代码语言:javascript
复制
$(window).on('blur', function(){});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4940657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档