javascript - HTML5 移动应用程序在手机屏幕关闭时运行?

标签 javascript android ios html geolocation

我有兴趣创建一个基于 HTML5 地理位置的网络应用程序,该应用程序在手机屏幕关闭时仍然可以运行(例如,当手机放在口袋里时跟踪你已经跑了多远)。

有什么方法可以让应用程序保持运行但关闭屏幕,或者在使用其他应用程序时让应用程序在后台运行?这至少在一些流行的移动设备上是可能的吗(尤其是较新的 iOS 和 Android 设备?)

最佳答案

我的music app是HTML5,也需要后台运行。对此的支持因移动浏览器而异。

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

如您所见,它是命中还是未命中。有一半的时间我最终试图 Handlebars 机放在口袋里,试图让屏幕保持打开状态,直到我不小心按下它——这太糟糕了。我渴望有一天用户可以更好地控制在后台运行 HTML5 应用程序。如果我不得不猜测,我会说对此的普遍支持还很遥远,如果它甚至获得牵引力的话。尽管我几乎肯定苹果永远不会批准它,但我被迫转向原生应用程序解决方案。与此同时,我将保持希望并继续测试最新的移动浏览器。因为如果它真的发生了,那就太棒了。 :-)

我还应该指出,根据我的经验,对于几乎所有上述组合,使用 HTML5 同时运行 javascript、提取网络数据和播放音乐通常会将您的手机变成 toastr 并耗尽电池电量迅速地。乌格。

此外,如果您使用的是 jQuery Mobile(这非常棒),您会在不同的浏览器上看到不同的触摸处理。例如,Firefox touch 效果很好,Dolphin 很糟糕,需要精确的触摸并按住并释放才能正确。这不是 HTML5 的直接错误,而是我正在处理的另一个问题。

这是另一个开发者的 interesting thoughts在移动 HTML5 上。

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

关于javascript - HTML5 移动应用程序在手机屏幕关闭时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15465242/

相关文章:

java - 将 2D Mat 对象转换为 1D 数组

ios - 应用程序启动时录制 Callback() 时间歇性崩溃

ios - 在用户注销之前,Firebase 不会更新整个应用程序中的值

javascript - 如何在按下和按住按钮时连续调用函数?

javascript - 如何为 PartialViewResult 返回空字符串(或 null)?

Android:双 SIM 卡手机检测用于 SMS 的 SIM 卡的供应商特定方法有哪些?

ios - Swift 中的 CocoaPods 和 Realm

javascript - 如何制作固定大小的井 Bootstrap

javascript - 编写指令时出现 Angular、未定义的外部库

android - 解析不订阅的 LiveQuery - Android (Kotlin)