我正在为使用操作系统互联网浏览器运行的Android智能手机构建一个webapp。主界面是输入数据。数据被添加到队列中(android 1.5:gears,android 2.x:html5)。每5分钟(使用setTimeout),脚本会查看互联网连接是否处于活动状态,如果是,则将所有队列发送到服务器。
如果手机已插在墙上并且网页位于顶部,则超时有效。如果浏览器已最小化或其他应用程序在其上运行,则超时不起作用。如果手机处于睡眠模式,它也不起作用。
只能在后台运行原生应用吗?
答案 0 :(得分:1)
只能运行原生应用 背景
当然,对于您的睡眠模式,我不希望浏览器唤醒设备。显然,根据您的症状,当浏览器本身暂停时,它们会暂停所有Javascript线程。考虑到使这些脚本运行的电池问题可能导致这种情况,这并不是非常令人震惊。
答案 1 :(得分:0)
您也可以将其基于系统时间,而不仅仅是setTimeout。这样,当它们将焦点返回到浏览器时,它至少会运行。