我正在使用mSensorManager.registerListener(this, mLinearAccelerometer, SAMPLINGPERIOD)
检索传感器数据
Android 12对传感器数据引入了速率限制。如果调用registerListener()方法,传感器采样率将限制在200 Hz。如果应用程序试图以更高的速度收集运动传感器数据,而不声明新权限HIGH_SAMPLING_RATE_SENSORS,,则会出现SecurityException。
现在,我有点困惑,因为在registerListener中,我们必须用s而不是Hz来定义采样周期。
如果我使用SAMPLINGPERIOD < 5000的值,则会发生上述异常:java.lang.SecurityException:要使用4999微秒的采样率,app需要声明正常的权限HIGH_SAMPLING_RATE_SENSORS.。
这是否意味着200 Hz的采样率相当于registerListener中使用的5'000微秒的采样周期?还是这种传感器依赖?
谢谢!
发布于 2021-07-19 06:16:17
也许,我刚刚找到了答案: 5'000秒是0.005秒,也就是说我们每秒有200个事件(1/0.005),也就是200赫兹。
发布于 2021-10-13 11:29:01
是的,SENSOR_DELAY_FASTEST需要新的HIGH_SAMPLING_RATE_SENSORS权限。其他常量不需要它。如果您的代码使用灵活的整数定义为SAMPLINGPERIOD,那么您需要在5'000 s以下立即获得许可。
https://stackoverflow.com/questions/68424498
复制相似问题