![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
---【数据业务】
文章平均质量分 91
Achillisjack
这个作者很懒,什么都没留下…
展开
-
android 系统数据业务---phone进程启动
前言:电话管理是Android 系统支持的重要的业务之一,提供接听电话,收发短信、电话薄、网络事件监听、读取用户信息、2G/3G/4G信号切换等功能。由上到下分为4层, PHONE应用层,Telephony框架实现层,RIL层。本文基于android 5.1,架构图如下,整个框架的调用流程图如下,整个网络虽然涉及到的进程也比较多,但是仔细分析起来关键点没有多少。本文原创 2017-07-17 19:02:33 · 1367 阅读 · 1 评论 -
APN设置 --- 之二
2.2 setInitialAttachApnsetInitialAttachApn方法调用流程图如下,DcTrackerBase的setInitialAttachApn方法如下,setInitialAttachApn(mAllApnSettings, mPreferredApn);一般第一次开机时, mPreferredApn为null。mAllApnSettin原创 2017-12-31 11:36:08 · 6079 阅读 · 0 评论 -
APN设置 --- 之一
5.2 设置默认APNPhone进程中的DcTracker构造方法如下,1,调用父类DcTrackerBase的构造方法,super(p);DcTrackerBase的构造方法主要逻辑如下,监听SIM卡的变化,mUiccController = UiccController.getInstance();mUiccController.registerForIccChang原创 2017-12-31 11:00:26 · 6573 阅读 · 1 评论 -
APN 源码分析 --- 数据库
5,APN为了访问网络,手机必须设置合适的APN参数。APN的英文全称是Access Point Name,全称接入点,是手机上网时必现配置的参数。终端中有一个apns-config.xml文件,负责定义各个运营商规定的默认APN参数。开机后,终端启动Phone进程时,会加载运行在Phone进程中的TelephonyProvider。 TelephonyProvider负责解析apns原创 2017-12-31 10:40:54 · 2424 阅读 · 0 评论 -
android netd守护进程机制 --- netd分析
3 netd分析3.1 CommandListener初始化CommandListener的构造方法分为3大步骤:1,父类初始化,传入netd socketFrameworkListener("netd", true)父类FrameworkListener的构造方法如下,FrameworkListener::FrameworkListener(const char *s原创 2017-07-18 21:04:34 · 2637 阅读 · 1 评论 -
android netd守护进程机制 --- Java层分析
前言:Netd是Android系统中专门负责网络管理的守护进程。NetD是网络管家,封装了复杂的底层各种类型的网络(NAT,PLAN,PPP,SOFTAP,TECHER,ETHO,MDNS等),隔离了底层网络接口的差异,给Framework提供了统一调用接口,简化了网络的使用。主要工作分为2个部分:1,接收并处理来自Framework层中NetworkManagementServi原创 2017-07-17 21:10:31 · 1806 阅读 · 0 评论 -
android 系统数据业务---模式切换分析(下)
5.3 RIL_REQUEST_DATA_REGISTRATION_STATE在GsmServiceStateTracker的构造方法中,注册了一些监听事件,mCi.registerForAvailable(this, EVENT_RADIO_AVAILABLE, null);mCi.registerForRadioStateChanged(this, EVENT_RADIO_STA原创 2017-07-17 20:05:26 · 3590 阅读 · 0 评论 -
android 系统数据业务---模式切换分析(上)
5 setPreferredNetworkType详解5.1 RIL处理RIL.java中setPreferredNetworkType方法如下,@Overridepublic void setPreferredNetworkType(int networkType , Message response) { RILRequest rr = RILRequest.obta原创 2017-07-17 19:55:15 · 4025 阅读 · 0 评论 -
android 系统数据业务---打开/关闭概述
数据业务的打开/关闭一般的app都可以实现数据业务的打开和关闭,例如手机里面的设置,数据业务的打开和关闭都是通过TelephonyManager接口来实现,具体的代码如下,设置默认卡的打开和关闭,public void setDataEnabled(boolean enable) { setDataEnabled(SubscriptionManager.getDefaultD原创 2017-07-17 19:03:12 · 4903 阅读 · 2 评论 -
android 系统数据业务---模式
4 数据业务模式在手机以及模块中,移动/联通/电信的信号都会有类似下面的2G/3G/4G切换, 图一 信号模式切换图这些值的定义都在RILConstants.java中,如下,/* NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE */int NETWORK_MODE_WCDMA_P原创 2017-07-17 19:54:13 · 1925 阅读 · 2 评论 -
android 系统数据业务---关闭
3 数据业务关闭数据业务关闭从DcTracker的onCleanUpAllConnections方法开始论述,调用流程图如下,cleanUpConnection的逻辑如下,调用DcAsyncChannel的tearDown方法获取配置的信息,然后发送发送EVENT_DISCONNECT消息,断开网络Message msg = obtainMessage(DctConst原创 2017-07-17 19:44:42 · 2532 阅读 · 0 评论 -
android 系统数据业务---打开(下)
2.3状态转换上一小节中,调用onConnect 方法拨号后就接着调用transitionTo方法进入了DcActivatingState状态,当RIL收到RIL_REQUEST_SETUP_DATA_CALL消息时, 将向DataConnection发送EVENT_SETUP_DATA_CONNECTION_DONE的消息. DcActivatingState的processMess原创 2017-07-17 19:39:14 · 2003 阅读 · 0 评论 -
android 系统数据业务---打开
2数据业务打开DcTracker的onTrySetupData调用流程图如下,onTrySetupData方法如下,protected boolean onTrySetupData(String reason) { if (DBG) log("onTrySetupData: reason=" + reason); setupDataOnConnectableAp原创 2017-07-17 19:19:35 · 1838 阅读 · 0 评论 -
APN 源码分析 --- 增删改查过程分析
5.3 查询/增加/删除/修改 APN在手机的设置里,每一张SIM卡对应一个APN界面,这个界面包含了APN信息,并且可以增加,修改,删除等操作。例如,电信卡对应的APN界面如下,第一个就是当前默认的APN或者已经连接的APN,第三个APN专门用于发送彩信的。3.1查询查询当前默认的APN信息,也就是查询telephony.db数据库的siminfo表Uri c原创 2017-12-31 11:41:14 · 1534 阅读 · 1 评论