博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android源码分析MMS APN重连
阅读量:6919 次
发布时间:2019-06-27

本文共 703 字,大约阅读时间需要 2 分钟。

hot3.png

建立新的彩信,点击发送后,会断开默认的数据业务,然后连接MMS网络。 
首先调用:
ConnectivityService.java—startUsingNetworkFeature,这个函数中会判断当前连接的网络是否为MMS网络,若不是就会调用函数:
MobileDataStateTracker.java—类MobileDataStateTracker中的函数reconnect函数。 
Reconnect会调用setEnableApn->enableApnType->setEnabled()->sendMessage
在sendMessage中发送一条消息,这个消息是EVENT_ENABLE_NEW_APN,
 
。。。。handleMessage()得到这条消息后进行处理,调用:
DataConnectionTracker.java--onEnableApn函数,在这个函数中会判断该APN是否已经被ENABLE了,如果没有,就会调用
cdmaDataConnectionTracker.java的onEnableNewApn函数,这个函数再调用:
cdmaDataConnectionTracker.java cleanupConnection函数。这个函数判断当前网络是否连接,若连接就发送消息EVENT_DISCONNECT_DONE。
cdmaDataConnectionTracker.java收到该消息后就会调用函数onDisconnectDone(),
在这个函数中会断开数据连接,并且重链。

转载于:https://my.oschina.net/u/215518/blog/84211

你可能感兴趣的文章
漫谈Web缓存架构
查看>>
管理系统中的mysql基本应用
查看>>
高级持续威胁(APT)终结者-Log 360
查看>>
【初学小白】课程作业 11台路由器配置静态路由实现全网互通
查看>>
2019年初创软件开发公司如何快速盈利
查看>>
静态路由,默认路由
查看>>
libvirt之virt-install
查看>>
好程序员web前端分享Nodejs学习笔记之Stream模块
查看>>
如何看待云、云计算、云服务、云存储、云平台之间的区别和联系?
查看>>
我的友情链接
查看>>
Item Type名字取得不好
查看>>
我的友情链接
查看>>
solr聚类
查看>>
Oracle 维护 online redo log
查看>>
多年不断折腾下来,管理类软件的固定的开发思想形成讲解
查看>>
解决IE7主页自动跳转的方法之页面跳转现象
查看>>
如何像Uber一样给工程师派单 解放外包落后的生产力
查看>>
thinkphp5项目放在线上的LNMP环境中打开为空白问题解决
查看>>
Java Spring 中你不知道的注入方式
查看>>
Javascript弹出对话框组件
查看>>