- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 Android6.0的SMS(短信)源码分析--短信发送
1 SMS发送流程1.1 SmsManagerAndroid发送短信的接口可以认为是SmsManager,当然并不是所有的App都可以发送短信的,必须配置相关的权限。App中可以通过SmsManager.getDefault()得到SmsManager的单例。首先来SmsManager主要提供的接口有哪些。public static SmsManager
2016-03-23 16:10:18 10588 3
原创 Android6.0的SMS(短信)源码分析--短信接收
1 SMS接收流程Android6.0中对短信的处理比起老版本还是变化有点大的。在分析源代码之前,我们可以先猜测一下Android中接收短信的大致流程。首先根据之前分析phone应用的经验,猜测最先接收到短信消息的肯定是Modem,接着上报的RILJ,RILJ在通知到XXXTracker,之后也许会有个SmsManager的东西作统一管理,再之后就是App层。当然,这仅仅是猜测,到底是
2016-03-23 16:02:28 9307
原创 Android6.0源码分析—— Zygote进程分析(补充)
此博文为《Android5.0源码分析—— Zygote进程分析》的补充我们已经知道Android 5.0已经默认了ART,今天本想回去查看一下这个部分,于是回到init进程中去寻找源码,发现6.0的Zygote部分也小有变动,因此更新一下。首先是init.c变成了init.cpp,这其实也就意味着在init中增加了类的概念。但是仔细查看init.h发现并没有class关键字。只有很多的s
2016-03-17 17:17:12 1122
原创 Android6.0的phone应用源码分析(9)——UICC卡管理
这部分严格来说并不属于phone应用,但是考虑到手机卡与phone应用的密切关系,也就放在同一个系列了。1.1 UICC卡的各种状态这些内容一般都被定义在IccCardStatus类中。首先是卡的状态:public enumCardState { CARDSTATE_ABSENT, //表示掉卡 CARDSTATE_PRESENT,
2016-03-15 10:20:30 2626
原创 Android6.0的phone应用源码分析(8)——来电(MT)
1.1 TelePhony Framework当有新来电时,最先得到消息的肯定是Modem,接着Modem response到RILD,RILD通过“rild”socket accpet得到的clientsocket将消息上传到RILJ。而在之前分析MO的RILJ时,已经知道存在着两种消息Solicited消息和UnSolicited消息。UnSolicited消息可以基本认定为是底
2016-03-07 14:31:03 3381
原创 Android6.0的phone应用源码分析(7)——RIL层框架分析2
这里再次 将Android6.0的phone应用源码分析(5)总最后的流向图拿出来从图中可以看到RILJ通过RILD向MODEM发送命令后,接受response是通过readerLoop异步进行的(?好像并不是异步,虽然在不同线程,但是加锁了,执行情况和同步基本一样啊)。这就存在一个问题:RILJ怎么识别response对应哪一个request?并且这个response返回给谁?从
2016-03-02 15:28:38 1026
原创 Android6.0的phone应用源码分析(6)——RIL层框架分析
通过之前的分析已经知道,RILJ存在着多个循环结构:1、Ril.cpp中的Event_loop负责接收来自RILJ的Request;2、reference_ril.c中的mainLoop主要是维护AT通道的打开状态,在AT通过出现问题时重启AT通道;3、Atchannel.c中的ReaderLoop负责接收Modem上报的ATResponse。如何让这三个循环正确有序的进行是RIL框架的关键。
2016-03-02 15:20:57 1267
NIO简易服务器框架、文件传输
2015-09-21
Java异步发送文件demo
2015-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人