【问题标题】:Can I programmatically access a smartphone's sensors through the browser and JavaScript?我可以通过浏览器和 JavaScript 以编程方式访问智能手机的传感器吗?
【发布时间】:2011-02-04 00:23:48
【问题描述】:

我是否可以通过浏览器网页和 JavaScript 以编程方式访问智能手机的传感器(例如 Android 或 iPhone 设备上的加速度计、指南针等)?我知道 W3C 设备标准可以允许访问相机。

【问题讨论】:

    标签: iphone android html browser


    【解决方案1】:

    HTML5 可能包含传感器 API。在这完全标准化之前,供应商会提供自己的 API,例如 Apple 为移动 Safari 提供的 API。

    如果您可以将自己限制在特定的供应商/设备上,则不需要像 PhoneGap 或类似的完整解决方案。如果没有,像 PhoneGap 这样的框架会为您提供一个统一的、独立于设备的 API。

    您应该了解适用于在移动设备浏览器内运行的 Javascript 应用程序的性能限制。根据您的应用程序类型和您打算对传感器数据进行的处理量,您最好编写本机应用程序

    有关一些参考文档,请参阅 https://developer.apple.com/library/safari/iPad/#documentation/SafariDOMAdditions/Reference/DeviceMotionEventClassRef/DeviceMotionEvent/DeviceMotionEvent.html

    【讨论】:

      【解决方案2】:

      答案是“是”和“否”。每个手机制造商/操作系统组合的行为都符合此处的要求 - 例如,可以访问 iPhone 上的 GPS,但不能访问指南针:

      accessing iPhone compass with JavaScript

      【讨论】:

        【解决方案3】:

        我相信你可以使用PhoneGap 之类的东西来做到这一点。

        Building iPhone Apps with HTML, CSS, and JavaScript一书中查看名为“Controlling the iPhone with JavaScript”的章节

        【讨论】:

          【解决方案4】:

          此演示使用 event.accelerationIncludingGravity 对象考虑 iPhone 在三轴上的运动: http://www.omiod.com/iphone/acceleration-demo.php

          到目前为止,iPhone 上的 Safari 是第一个实现它的,但我认为 Android 很快就会填补这一空白。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-10-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-30
            • 2017-07-09
            • 1970-01-01
            相关资源
            最近更新 更多