Android Sensor详解(7)sensor framework层详解第二篇

app注册传感器监听

在上一篇我们就已经写了一点关于app是如何拿到acc sensor的一些demo code。那么这边再一次为大家解释一下这个过程。

这点我们从app注册sensor监听开始,注册工作是有SystemSensorManager类的RegisterListener方法来完成
如下图

那么我们还可以看一下使能sensor与设置延时值的调用关系

建立service与manager的链接

建立链接的调用过程

SystemSensorManger进入循环

当建立好链接,那么下面就是要进行数据上报了。通过sensorevent得到值

SensorEvent的处理

sensorservice在sensormanger的初始化的过程中就已经进入threadloop,但是因为所有传感器还处于disable的状态,故一直处于 poll SensorEvent未返回的状态
在SystemSensorManager开始注册传感器监听后,相应的传感器被enable,开始上报SensorEvnet,SensorService的threadloop中也就开始了循环poll SensorEvent并处理了。

sensor传递的整体流程如下:

那么它所传递数据格式如下:

sensorEvent的传递方式

sensorservice线程循环读取HAL层数据

systemsensormanager线程循环处理事情

listenerDelegate处理sensorEvent

取消对传感器的监听

从记录中去掉监听者所监听的传感器即可

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值