渐进式Web应用程序(PWA)可以在移动设备上运行后台服务以从硬件(加速度计,gps ...)获取数据吗?

时间:2017-06-13 20:24:59

标签: progressive-web-apps

我发现我们可以使用https://whatwebcando.today/检查移动浏览器的功能,但是在不在前台运行时是否可以查询硬件API?

我的意思是......借助PWA,我能够构建一个在后台运行时获取硬件信息的应用程序,就像Octo U一样,适用于Android,并将该信息发布到Web服务器上?

2 个答案:

答案 0 :(得分:9)

服务工作者在事件驱动的模型上运行。这意味着它们仅在注册事件时启动(浏览器UI现在发出网络请求,推送通知和后台同步)。 我认为你要求的是地理围栏功能。 AFAIK这是正在讨论添加到SW模型的内容。如果不是,那应该是因为它对营销目的非常有价值。我知道它正在原生应用程序中使用,所以我认为它将被关注。 GPS可从前端访问,并已在浏览器中使用多年。但是,用户需要在浏览器中加载您的站点/ PWA。

答案 1 :(得分:7)

在后台运行代码的现代方法是使用service worker,通过其push事件处理程序(通过传入的推送消息触发),或通过其sync事件处理程序(由先前失败的任务的自动重放触发)。

目前无法从服务工作者内部访问您所询问的硬件传感器类型。