2013-03-17 24 views
17

我有兴趣创建一个基于HTML5地理位置的网络应用程序,该应用程序在手机屏幕关闭时仍可以运行(例如,跟踪手机放在口袋里时运行的距离)。在手机屏幕关闭的情况下运行的HTML5移动应用程序?

有没有什么办法让应用程序运行,但屏幕关闭,或者在其他应用程序正在使用的情况下让应用程序在后台运行?这是否可能至少在一些流行的移动设备(尤其是更新的iOS和Android设备?)

+0

在Android上,您需要编写本机应用程序并运行服务以保持活动状态。我怀疑ios是多么不同。 – 323go 2013-03-17 19:39:40

+2

对于Android来说,当然,当然,您的“网络应用程序”将不得不作为应用程序下载(例如Phone Gap提供的功能)。然后你可能还需要使用Java层来完成一些工作,使用AsyncTask和一个服务。对于iOS,我不知道。 – 2013-03-17 19:40:36

+0

虽然我怀疑它..你可能有点运气得到这个工作。与一个iframe。 http://stackoverflow.com/questions/7047989/javascript-stops-as-i-lock-iphone-can-it-still-run [见第一个答案。 ] – Madushan 2013-05-14 10:50:40

回答

17

我的music app是HTML5,也需要在后台运行。对此的支持取决于手机浏览器。

  • Safari浏览器在iOS上:将继续在后台Android上玩一两首歌
  • 原生浏览器:会玩,然后一首歌曲停止
  • 的Firefox Android上:当屏幕锁定或浏览器将停止焦点或歌曲结尾
  • 海豚在Android上:在后台播放!但最终会停止
  • Opera上的Android:更好的背景支持,Javascript继续运行,即使在屏幕关闭或Opera被发送到背景时,音乐仍会继续播放,但最终会在几首歌曲后停止播放。

正如你可以看到它的命中或错过。有一半时间我试图把手机放在我的口袋里,试图让屏幕保持打开,直到我不小心按下了它 - 完全吮吸。我渴望在用户对后台运行HTML5应用程序拥有更多控制权的那一天。如果我不得不猜测,我会说普遍的支持是非常遥远的,如果它甚至得到牵引。即使我几乎是积极的,苹果也永远不会批准它,但我正在被迫转向原生应用解决方案。同时,我会保持乐观的态度并继续测试最新的移动浏览器。因为如果它真的发生了,它会很棒。 :-)

我还应该指出,根据我的经验,对于上述几乎所有的组合,使用HTML5同时运行javascript,拉网络数据并播放音乐通常会将手机变成烤箱,快速杀死你的电池。 UGG。另外,如果你使用的是jQuery Mobile(这是非常棒的),你会在不同的浏览器上看到不同的触摸处理。例如,Firefox touch的效果很好,Dolphin非常糟糕,需要精确的触摸 - 保持 - 释放才能正确使用。这不是直接HTML5的错,但我正在处理的另一个问题。

这是另一位开发人员在移动HTML5上的interesting thoughts

更新:我只是(2013年5月22日)在我的三星Galaxy S3上下载了Opera,并且它迄今为止拥有最好的HTML5支持。对于我的应用程序,它会继续在后台运行javascript,无论屏幕是关闭还是Opera被推到背景,至少有几首歌曲。

相关问题