控制合并
activate
对于某个传感器,只要有一个连接Listener(java层SensorEventListener,native层SensorService::SensorEventConnection),那么就需要打开该传感器。每个连接对该传感器的配置参数(周期period和批量超时timeout)不一样,最终取最小值。每个传感器有最小周期,如果设置值小于最小周期时,自动使用最小周期。
打开传感器时,调用顺序为:batch、flush(当前关闭会返回失败),activate(如果是第一个连接)。
关闭传感器时,调用顺序为:batch(最小值可能变化)、activate(如果是最后一个连接)。
flush
如何一个连接调用flush,会直接调用HAL的flush,所有对该传感器感兴趣的连接都会收到对应的META_DATA_FLUSH_COMPLETE事件。
连接到某个传感器时,服务层会自动调用flush,并在该连接过滤flush完成事件之前的事件。