Android上的硬件传感器描述了他们通过Sensor.getReportingMode()
报告数据的模式,但此方法仅适用于21级或更高级别的API。所以我想知道当API级别低于21时,传感器的报告模式应该是什么。
此信息非常有用,因为了解传感器的报告模式可帮助您确定samplingPeriodUs
的{{1}}参数是否可能是报告的传感器事件之间的纳秒数的上限(此对于报告模式为SensorManager.registerListener()
的传感器可能不适用,但对于报告模式为REPORTING_MODE_ON_CHANGE
的传感器可能也是如此....实际测试显示这些假设不是那么合理)。
了解传感器的报告模式是否为REPORTING_MODE_CONTINUOUS
,确定是否应使用REPORTING_MODE_ONE_SHOT
订阅来自此传感器的传感器事件
(来自方法文档:“注意:请勿将此方法与一次性触发传感器一起使用...使用SensorManager.registerListener()
获取给定传感器的报告模式。”)或getReportingMode()
。< / p>
以另一种方式提出问题,要知道是否应该使用
注册传感器事件SensorManager.requestTriggerSensor()
是在API 3中添加的,或
SensorManager.registerListener() // don't use with mode REPORTING_MODE_ONE_SHOT
是在API 18中添加的,您需要使用
SensorManager.requestTriggerSensor() // only for mode REPORTING_MODE_ONE_SHOT
直到API 21才添加。
我错过了什么,如果不是我怎么解决这个问题?