【问题标题】:Is there a conversion factor between Android sampling frequency (Hz) and sampling period (µs) (HIGH_SAMPLING_RATE_SENSORS)Android 采样频率 (Hz) 和采样周期 (µs) 之间是否存在转换因子 (HIGH_SAMPLING_RATE_SENSORS)
【发布时间】:2021-09-26 04:09:08
【问题描述】:

我正在通过使用检索传感器数据 mSensorManager.registerListener(this, mLinearAccelerometer, SAMPLINGPERIOD)

Android 12 引入了对传感器数据的速率限制。如果调用 registerListener() 方法,则传感器采样率限制为 200 Hz。如果您的应用尝试在未声明新权限 HIGH_SAMPLING_RATE_SENSORS 的情况下以更高的速率收集运动传感器数据,则会发生 SecurityException。

现在,我有点困惑,因为在 registerListener 中,我们必须定义采样周期以 µs 为单位而不是 Hz

如果我使用 SAMPLINGPERIOD java.lang.SecurityException:要使用4999微秒的采样率,应用需要声明正常权限HIGH_SAMPLING_RATE_SENSORS。

这是否意味着 200 Hz 的采样率相当于 registerListener 中使用的 5'000 微秒的采样周期?还是这取决于传感器?

谢谢!

【问题讨论】:

    标签: java android sensors android-sensors


    【解决方案1】:

    可能,我刚刚找到了答案:5'000 µs 是 0.005 秒,即我们每秒有 200 个事件 (1/0.005),即 200 Hz。

    【讨论】:

    • 我只是想知道 SENSOR_DELAY_* 常量在这些变化下的表现如何。 200 Hz 相当快,所以我想说 SENSOR_DELAY_NORMAL、SENSOR_DELAY_UI 和 SENSOR_DELAY_GAME 不应触发 SecurityException 并且需要 HIGH_SAMPLING_RATE_SENSORS 权限。只有 SENSOR_DELAY_FASTEST 应该需要它恕我直言。但我们将不得不对此进行测试,因为它没有记录。
    【解决方案2】:

    是的,SENSOR_DELAY_FASTEST 需要新的 HIGH_SAMPLING_RATE_SENSORS 权限。其他常量不需要它。如果您的代码使用灵活的整数定义作为 SAMPLINGPERIOD,则只要低于 5'000 µs,您就需要该权限。

    【讨论】:

      猜你喜欢
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      相关资源
      最近更新 更多