关闭

高通平台ModemBindingPolicyHandler和ModemBindingPolicyHandler作用(原)

做高通平台双卡项目的时候,高通在Telephony模块中添加了ModemBindingPolicyHandler和ModemStackController两个对象,今天我们来看一下他们的作用。由于这两个对象都是高通自己添加的,因此不方便贴出太多的源码,我们简要看一下其作用和原理。         高通之所以在AP侧添加这两个对象,是和其双卡的协议栈结构相关的。         我们知道虽然双卡...
阅读(1251) 评论(0)

Android运营商名称显示之PLMN与SPN显示规则(原)

前面的两节分别介绍了PLMN和SPN的读取方法,那么在锁屏、状态栏、通知栏这些地方的运营商名称究竟是来自于PLMN呢?还是来自于SPN呢?         在3GPP中规定的运营商名称显示规则如下:         1、名称可以为SPN或PLMN         2、如果没有SPN文件,那么就显示PLMN         3、若有SPN,并且注册的PLMN是HPLMN或者注册的PLMN在S...
阅读(4679) 评论(2)

Android运营商名称显示之SPN的读取(原)

SPN(Service Provider Name)就是当前发行SIM卡的运营商的名称,可以从以下两个路径获取:         1、从SIM文件系统读取         2、从配置文件读取         我们本节就来分析该字串的读取过程。 一、从SIM读取SPN过程         一般来说,SIM上保存有当前SIM的发行运营商名称,也就是SPN,该字串可以存储在SI...
阅读(5590) 评论(0)

Android运营商名称显示之PLMN的读取(原)

Plmn的全称是Public Land Mobile Network(公共陆地移动网络),而在运营商显示方面主要是指当前SIM所驻留的网络,比如当中国移动的SIM(46000)如果漫游到联通的网络(46001),那么虽然当前的SIM是中国移动,但是他的Plmn就应该是中国联通。         也就是说,Plmn的名称与当前驻留的网络相关。         那么Plmn的来源是什么呢?...
阅读(5624) 评论(2)

Android运营商名称显示(原)

Android运营商名称的显示对用户来讲可能很少人注意到,但是对Telecomm的开发者来说,却有着不少的学问,虽然3GPP里面已经有明确的显示规则,但是在项目开发中却总能遇到各种特殊的运营商需求。在接下来的几节中我们就来对这个小小的字串显示进行分析。         Android平台的运营商名称主要显示在以下几个位置: 1、锁屏时的状态栏,如图:      2、解锁后的下拉通知栏,...
阅读(3234) 评论(0)

Qualcomm平台qcril初始化及消息处理流程(原)

本节主要来介绍Qcril的初始化流程以及消息在Qcril中如何传递。 Android平台不同厂商的AP侧可以相同,但是Modem侧肯定会有很大的差异,RILC要解决一个问题就是适配不同厂商的Modem,为了达到兼容性要求,Android在AP与Modem之间搭建了RILC的框架,由不同的Modem厂商将自己的协议连接到AP侧。对于高通平台来说,他的RILC就是QCRIL。...
阅读(6493) 评论(1)

Android短信发送流程之多收件人发送(原)

前面的《Android短信发送流程之长短信发送》中介绍了长短信对于普通短信的区别,而对于多收件人的情况,在SmsMessageSender的queueMessage()方法中我们了解到,发送之前,将多收件人的短信进行拆分,放入"content://sms/queued"队列中,在接下来的流程中,将会在SmsReceiverService中通过sendFirstQueuedMessage()方法取出...
阅读(1490) 评论(0)

Android短信发送流程之长短信发送(原)

从前面《Android短信发送流程之普通短信发送》流程看到,长短信与普通短信的流程从SmsManager的sendMultipartTextMessage()方法开始区分,现在我们来看长短信的流程: @SmsManager.java public void sendMultipartTextMessage( String destinationAddress, Str...
阅读(1961) 评论(0)

Android短信发送流程之普通短信发送(原)

我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况。 一、地址有效性检测         当点击发送按钮时,触发onClick事件: @ComposeMessageActivity.java public void onClick(View v) { if ((v == mSendButtonSms...
阅读(2684) 评论(0)

数据业务建立流程之DcTracker创建过程(原)

一、DcTracker介绍         DcTracker是Telephony框架中负责数据业务的核心(类似于GsmCallTracker是通话业务核心,GsmServiceStateTracker是网络CS业务的核心),所有对数据网络的请求(打开关闭数据开关、切换数据卡、修改APN参数等)都会发送到该处理中心来处理。本节所涉及的大部分代码也都在该对象中。下面我们先来看该对象的初始化...
阅读(5093) 评论(2)

网络连接评分机制之再谈WIFI与数据切换过程(原)

前面几节介绍了网络评分机制的运行流程,下面我们再次通过案例来梳理一下评分机制在使用过程中的体现。         用户原本在用数据上网,但是如果到了一个有WIFI的环境,并连接上了WIFI,此时用户的手机将会自动断开数据网络,这是如何做到的呢?         当用户来到WIFI环境时,如果连上了某个WIFI,那么此时的WIFI状态机将会进入L2ConnectedState状态,然后会更新当前...
阅读(3856) 评论(7)

网络连接评分机制之NetworkMonitor(原)

本节介绍一个比较特殊的流程,就是网络可用性对评分的影响。         该影响主要体现在,当一个网络连接建立时,系统将用该连接Ping一个Google的网站来判断该连接是否真的可以上网,如果不可以,那么就会扣掉该网络40分,从而可能导致该网络的评分低于其他网络评分,下面来看详细过程。 一、NetworkMonitor来源         在前面我们分析过,当某个Networ...
阅读(4650) 评论(1)

网络连接评分机制之NetworkAgent(原)

前面介绍了开机过程中各个网络提供者的初始化过程,其实就是创建自己的NetworkFactory,并将其注册到ConnectivityService。而在介绍NetworkFactory的时候,我们看到该类的官方注释中有这么一句描述: "A NetworkFactory is an entity that creates NetworkAgent objects."        ...
阅读(4886) 评论(1)

网络连接评分机制之NetworkFactory(原)

在开机时,各个提供网络连接的对象需要向ConnectivityService注册自己,并把自己所提供的网络的分值告诉ConnectivityService。         为了ConnectivityService便于统一管理,每一个具备提供网络服务的对象都需要创建一个NetworkFactory的子类对象,并利用该对象注册自己,以及提供自己的分值。 一、NetworkFactory...
阅读(3992) 评论(1)

Framework中的连接管理机制(原)

上一节《Wifi服务框架介绍》介绍了WIFI的大致框架,本文主要介绍连接管理中的几个重要角色,包括:NetworkInfo、NetworkAgent、ConnectivityService、ConnectivityManager等。         为了便于讨论,本文选取一个具体问题展开分析,那就是:当当前的网络连接变为不可用时,系统如何自动切换其他可用的网络连接的。         我们知道...
阅读(11808) 评论(4)
41条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:303567次
    • 积分:3630
    • 等级:
    • 排名:第9394名
    • 原创:73篇
    • 转载:0篇
    • 译文:0篇
    • 评论:120条
    最新评论