【问题标题】:How can I determine which Android devices can use the Step Counter?如何确定哪些 Android 设备可以使用计步器?
【发布时间】:2017-10-18 22:50:56
【问题描述】:

我正在开发一个跟踪用户步骤的 Unity 应用程序。它使用了以前的开发人员已经编写的 Android 插件。这个插件访问Android step counter sensor。在开发者门户中,声明它是“在 API 级别 19 中添加的”。

计步器功能在我的 OnePlus 5 上运行良好。但是,我找不到任何提及 OnePlus 5 具有此传感器的信息。它也适用于荣耀 8,同样,没有提到这款手机有这个传感器。我什至直接联系了华为,他们明确表示他们目前的型号都没有计步传感器,只有加速度计。

是否可以知道当前插件可以使用哪些设备?计步器是实际的物理传感器还是仅使用加速度计的虚拟传感器?它是否仅限于某些设备,还是当前插件可以在任何运行 Android 4.4 或更高版本且具有加速度计的设备上运行?

【问题讨论】:

    标签: android unity3d


    【解决方案1】:

    计步器不是物理传感器,而是虚拟传感器,或者称为复合传感器。它使用加速度计和可能的其他传感器(如果在引擎盖下可用)来计算步数。例如,线性加速度传感器是另一种类型的复合或虚拟传感器,它通过从加速度计中减去重力值来获得线性加速度。

    它应该适用于任何搭载 Android 4.4(及更高版本)且至少具有加速度计的设备。您可以在代码中即时检查其可用性(类似这样):

    Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
            if (countSensor != null) {
                sensorManager.registerListener(this, countSensor, SensorManager.SENSOR_DELAY_UI);
            } else {
                Toast.makeText(this, "Count sensor not available!", Toast.LENGTH_LONG).show();
            }
    

    有关其实际工作原理的详细信息,请阅读以下内容: https://source.android.com/devices/sensors/sensor-types#step_detector https://source.android.com/devices/sensors/sensor-types

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2013-09-02
      • 2015-03-27
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多