Android天线信号刷新流程

本文详细介绍了Android中RIL实现流程,包括串口数据处理、AT命令发送与接收,以及信号强度自动上报和主动读取的流程。通过解析RIL、ServiceStateTracker和RadioInfo等组件的工作机制,阐述了信号强度变化如何从底层到上层UI的更新过程。
摘要由CSDN通过智能技术生成

本文为原创,如转载必须注明!!!

初次接触android的代码,花2天时间把androidRIL以及向上的延伸比如天线信号刷新的流程理一下。

 

我把这个流程分成3个部分:

1.       RIL的实现流程;

2.       自动上报的信号强度如何实现在屏幕上的刷新;

3.       信号强度的主动读取流程;

 

其一,RIL实现流程,这个在去年有抽一点点时间看过,不过当时因为时间和心情的关系没有看明白,感觉是一头雾水。这一次算是把整体的ril梳理了一下。这里仅仅描述大概的流程:

1.首先了解串口数据的接收和处理

动态加载ril库,取出ril_INIT函数-》创建mainloop线程-》创建readerlooper线程,readerlooper线程主要用于处理串口的数据,先读取串口的数据然后对数据进行解析,分为两种:自动上报的AT数据,AT的反馈数据【主动发送的AT数据,然后接收到modem的返回】。

主动发送的AT分为如下类型:

->NO RESULT------无返回

->SIGNALLINE----返回为单条命令

->NUMBERIC----数字(基本没有用到)

->MUTILINE----返回为多行命令

->SMS---短信PDU

因为每个AT的发送都会收到OK或者非OK的返回,主要是用于验证通讯是否正常。返回ok也仅仅表示发送的at modem已经成功收到。针对返回的是ok还是非ok来填充respone结构体中的success变量。然后根据当前

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值