云端笔记
云端笔记
  • 发布:2015-03-10 09:10
  • 更新:2018-01-23 16:33
  • 阅读:3791

IOS平台APP从后台切换回来存不存在事件?

分类:HTML5+

应用场景是这样的:我在我的APP中加入了手势密码功能,也就是,我把逻辑写到了index.html中,每次开启APP时,会自动打开一个新的webview手势密码页面。但是这样做的弊端就是,只能在APP完全退出后再运行时,才会弹出手势密码页面。但是,IOS手机就只有一个HOME按钮,按下这个按钮,APP一般情况下是进驻后台或睡眠的,当点击APP时,回到的是退出前的页面,而且也不是重新加载,所以,根本执行不到弹出新webview的代码!
我想问的就是,IOS平台的APP从后台切换回来的时候,有没有一个事件可以监听?这样无论到哪个页面都可以先弹出手势密码页面?
或者,有没有其他的思路可以做到从后台切换回来的时候能够弹出手势密码webview!

2015-03-10 09:10 负责人:无 分享
已邀请:
云端笔记

云端笔记 (作者)

这个问题又让我自己解决了!!!哎!!
看到了HTML5+示例程序里面有这样的事件!直接拿来用了!

        var backgroundTime = 0;  
        // 监听从前台切换到后台事件  
    document.addEventListener("pause",function(){  
        backgroundTime = Math.round(new Date().getTime()/1000);  
    }, false );  
    // 监听从后台切换回前台事件  
    document.addEventListener("resume",function(){  
        var nowTime = Math.round(new Date().getTime()/1000);  
        // 如果程序退出到后台时间超过20秒,则重新要求输入手势密码  
        if (backgroundTime != 0) {  
            if (nowTime - backgroundTime > 20) {  
                if (UserInfo.has_login()) {  
                    if (UserInfo.touch_pwd()) {  
                                                // 打开手势密码页面  
                        openPwdPage();  
                    }  
                }  
            }  
        }  
    }, false );
  • 黑不溜秋

    这样打开多个页面之后后台切前台会加载多个手势页面吧?

    2015-03-12 10:17

  • 未闻丶

    赞!

    2016-01-23 10:42

  • 木乃森

    IOS9测试的时候,前台切换到后台的时候,程序是暂停的,也就是说,pause时记录的时间是失效的。之后后台切换到前台(resume)才会执行。请问这个问题你是咋解决的。多谢

    2016-07-28 18:40

云端笔记

云端笔记 (作者)

我这个要求就是APP从后台切换回前台的话,需要要求用户先输入手势密码!至于你说的从APP内部打开多个页面,回到APP首页,是不会弹出手势密码的,因为,这个方法是监听从后台切换回来的事件,不是退到首页的事件!

  • 黑不溜秋

    后台运行前台打开手势页面,不解锁的情况下再后台,在切换到前台,不是又加载一次手势页面?

    2015-03-19 17:20

  • 云端笔记 (作者)

    是会出现这种情况!可以加一个判断,如果手势密码页面已经被加载,就不在加载,否则重新加载!

    2015-03-20 09:17

  • 黑不溜秋

    嗯。好的,解决了。

    2015-03-20 11:11

dongs

dongs

marker 一下

麦田绣谷

麦田绣谷

marker 一下

夜游鹰

夜游鹰

mark

该问题目前已经被锁定, 无法添加新回复