Telephony
文章平均质量分 85
Dic-
.
展开
-
【笔记】计算机网络体系结构及协议层次划分
OSI参考模型层级及各层的数据单元解析,网络数据传输流程图解 。原创 2024-06-25 17:51:49 · 996 阅读 · 0 评论 -
Android 安装调试 TelephonyProvider不生效
在 Android 中,一些系统服务或提供者在首次安装、更新或调试后可能需要重新启动才能使更改生效。重启手机可以确保系统重新加载并应用新的更改。安装调试 TelephonyProvider 后可能需要重启手机以确保数据库重新创建生效。直接安装TelephonyProvider的时候,(没有重启)发现数据库没有生效。猜测应该是原本的数据库没有删除后重建更新。解决方法:杀掉phone进程。查看device进程。原创 2024-06-06 08:04:59 · 342 阅读 · 0 评论 -
KaiOS 获取SIM卡MCCMNC等信息的代码实现
KaiOS 没有Android上的CarrierConfig运营商定制机制,通常要拿SIM卡信息进行判断定制。原创 2024-05-22 13:56:17 · 284 阅读 · 0 评论 -
KaiOS中显示运营商名称相关的用户界面(日志分析及代码逻辑)
1、功能机主屏、小屏的状态栏(Data 和 WFC 模式下)2、Settings 应用 Mobile Network 菜单内容:Carrier 和 搜网列表名称。原创 2024-05-21 17:35:16 · 535 阅读 · 0 评论 -
KaiOS 搜网功能 selectNetwork 流程和代码逻辑
carrier_manual_select 手动搜网流程原创 2024-05-21 14:59:40 · 672 阅读 · 0 评论 -
【日志分析】飞行模式下WiFiCalling下运营商名称更新问题
背景:飞行模式下注册上VoWiFi问题:systemui不显示vowifi图标,但是dialer拨号图标已经改变。(DATA模块issue:为什么PNN有值但是SPN和PLMN仍然为空,因此运营商名称有误?现象:因为EF信息更新慢,telephony的spn上报就与vowifi状态不太一致,存在延时。而systemui的逻辑是spn不为空才会显示vowifi的图标,不是依据vowifienable的状态更新的。原创 2024-05-20 12:08:56 · 1024 阅读 · 0 评论 -
【笔记】EF_PNN获取及运营商名称显示(待完善)
当设备无法成功解析EONS(PNN)的值(即SIM卡EF文件内容),则会用次优先级的NITZ去refresh了SPN。(问题代码如下,是通过Phone对象拿到plmn为空)(定制)当卡中的spn为空,会用PLMN的值更新SPN的值,即SPN = PLMN。运营商名称一般显示优先级:Eons > NITZ > XML。第二条PNN,DUT和REF都解析为ROAM。OPL id 0 对应的是PNN第一条。DUT:解析不出来卡中的第一条PNN。包含客制化方案的实现。原创 2024-05-13 16:48:06 · 804 阅读 · 1 评论 -
KaiOS Data PDN 数据建立流程
","authtype":"notDefined","bearer":0,"carrier":"沃3G手机上网 (China Unicom)","mmsc":"","mmsport":"","mmsproxy":"","password":"","port":"80","protocol":"notDefined","proxy":"10.0.0.172","roaming_protocol":"notDefined","types":["worker发消息setupdatacall。原创 2024-05-11 11:05:02 · 927 阅读 · 0 评论 -
【笔记】CarrierConfig 配置参数的解析规则
CarrierConfig 应用根据运营商卡参数 mccmnc+mvno的解析逻辑和配置方法原创 2024-04-09 18:05:32 · 403 阅读 · 0 评论 -
【笔记】KaiOS SPN运营商名称显示代码逻辑和日志分析
与SPN运营商名称显示有关的代码流程和日志分析,包括SIM卡相关信息获取和SPN更新逻辑,从systemui应用层到RIL层与MD请求交互的过程。原创 2024-04-07 15:52:30 · 1079 阅读 · 0 评论 -
【笔记】关于使用EF_IMG 和 EF_PNNI 信息显示SPN(Alpha Tag)的说明和Android代码
是否支持用图形显示SPN,根据EF_PNNI和EF_IMG的信息,即从卡读取PNNI和IMG新信息给SystemUI显示whether support the ability to display an icon/image for the alpha tag, using the EF-PNNI and EF-IMG files from the SIM?EF-IMG文件包含关于互通移动性组的信息。它存储与不同网络(如GSM和UMTS)互通相关的数据。EF-IMG文件包含移动性管理、认证、安全性和其他特定原创 2024-03-25 18:11:03 · 735 阅读 · 0 评论 -
【笔记】KaiOS SPN显示简要流程介绍
1、handleNetworkStateChanged -> requestNetworkInfo() -> handleRilResponse的getOperator -> handleOperator2、updateDisplayCondition -> handleICCInfoChange -> overrideNetworkName -> notifyIccInfoChanged ,sb_updateLabel 接收iccinfo更新通知,更新显示。原创 2024-03-22 18:19:30 · 1064 阅读 · 0 评论 -
【开发方案】Android 应用双卡搜网功能
需求:开机自动开始搜网并显示网络列表那么就不能将相关类做成单例,不能将subId、phoneId等卡相关的属性作为UI、服务的全局变量。原创 2024-03-20 19:36:23 · 856 阅读 · 0 评论 -
【日志分析】Android 运营商名称显示优先级(AlphaTag/SPN)
MTK平台的设计,功能代码说明。原创 2024-03-14 14:36:35 · 427 阅读 · 0 评论 -
KaiOS APN配置文件apn.json调试验证方法(无需项目全编)
APN配置在system app中,Push 应用到设备调试的方法以及设备remount失败的解决方案原创 2023-11-06 16:31:19 · 581 阅读 · 0 评论 -
【笔记】Android Telephony 获取SubscriptionManager和TelephonyManager
Android 双卡适配 subId 相关方法-CSDN博客【笔记】Android Telephony | SIM 卡管理和subId、slotId、phoneId 定义关系说明_subid phoneid-CSDN博客。原创 2024-03-01 14:01:06 · 808 阅读 · 0 评论 -
【笔记】Android Telephony 漫游SPN显示定制(Roaming Alpha Tag)
Alpha Tag:运营商名称标识符,也是用于标识运营商的一个名称。客户需求描述常用名词,对开发而言都是SPN/PLMN功能模块的内容,状态栏左上角的运营商名称显示。网络运营商名称显示规则:MTK平台的设计,对运营商名称的显示rule 是基于sim相关协议来实现的。。EONS具有最高优先级,如果拿不到的EONS的情况下,要去读NITZ里的name。原创 2024-03-04 18:17:40 · 1113 阅读 · 0 评论 -
【笔记】MTK与高通平台emergency APN配置差异
1、在高通平台上,某些运营商可以不拆分数据网和WLAN下的emergency APN,拆分了反而会存在问题,根据modem反馈的情况,上层Telephony 适配APN。2、xcap 类型的APN上层AP不会主动请求下发,都是modem使用的,当前不配置bearer也没有影响,因为modem有一套自己维护的?1、根据MTK要求,在cellular下都要有一条apn=""(空)的emergency apn存在,否则PDN建立会存在问题。根据3GPP协议,emergency APN配置需要注意。原创 2024-03-01 11:50:35 · 845 阅读 · 0 评论 -
【开发方案】KaiOS APN 设置界面菜单选项定制
在功能函数中自定义菜单选项常量 softkeyOption_custom,然后最后通过判断你选择不同的菜单内容项。if(ApnUtils.isOpSim()) { //自定义接口判断 , ApnUtils工具类自定义在js/module中} else {原创 2024-02-26 15:53:28 · 1076 阅读 · 0 评论 -
【笔记】【开发方案】APN 配置参数 bitmask 数据转换(Android & KaiOS)
KaiOS: apns.json特别需要注意格式(很容易出错),数组最后不用加逗号,注意大/中括号的首位一致性。待完善可以参考PDN建立逻辑,gecko/dom/system/gonk/radio/DataCallManager.jsm在bitmaskToString接口中,将bitmask转化成String时,循环RIL.GECKO_RADIO_TECH的长度次,经过位运算转换成与Android原始配置的bearer_bitmask相同格式的bearer位符,用“|”间隔rat类型位。是如原创 2024-02-20 18:18:06 · 1650 阅读 · 0 评论 -
【开发方案】KaiOS 新增APN信息字段的代码实现
KaiOS 基线不提供MCC、MNC、MVNO和bearer等信息的显示,因此在APN详情页无法查看单条APN的这些信息,跟Android 原生逻辑存在差异,需要自行实现。原创 2024-02-19 19:35:38 · 438 阅读 · 0 评论 -
【笔记】Android MTU 知识及常见问题(高通和MTK方案)
运营商对MTU配置有需求。比如针对不同类型的APN或者是注册网络环境的不同存在需求差异。原创 2024-02-18 18:21:08 · 632 阅读 · 0 评论 -
KaiOS APN 编辑页代码逻辑
kaios 3.1:跟Android 不同,默认不支持显示mcc、mnc、MVNO value&type、bearer、server。)中,可以进行模块单编,或者本地push对应应用的application.zip快速调试。APN编辑页面在Settings应用(对比:(Old Version)用于保存编辑和新增APN。原创 2024-02-02 18:21:41 · 384 阅读 · 0 评论 -
【笔记】SPN和PLMN 运营商网络名称显示的代码逻辑和开发定制
网络状态名称的显示在不同的用户界面,而数据的处理和其他网络状态信息一样,由ServiceStateTracker 来负责,其主要逻辑是根据当前的网络状态来确定PLMN 显示名称,读取SIM卡中SPN显示名称,确定两个显示名称后,由SIM卡信息最终确定显示规则,此规则定义了显示plms还是spn,在后来的IMS网络下还有dataspn。之后ServiceStateTracker 将plmn,spn 显示名称以及显示哪个名称的标志位信息广播出去,广播消息为TelephonyIntents。原创 2024-02-01 14:54:01 · 1249 阅读 · 0 评论 -
Android 双卡适配 subId 相关方法
执行卡业务和主要是使用subId和 PhoneId/SlotId进行区分隔离。双卡设备进行网络等业务时,需要正确操作对应的卡。原创 2024-01-31 19:34:59 · 731 阅读 · 0 评论 -
Android U 配置 WiFiCalling 场景下PLMN/SPN 显示的代码逻辑介绍
根据设备的网络连接情况更新状态栏显示的运营商及网络状态。注册上WFC(WiFi Calling)后,支持客制化显示左上角状态栏中的运营商网络状态信息。具体的代码逻辑在CarrierDisplayNameResolver.java。原创 2024-01-25 00:08:29 · 1082 阅读 · 0 评论 -
【笔记】Android Telephony | SIM 卡管理和subId、slotId、phoneId 定义关系说明
XID定义和特殊场景说明ICCIDSIM 卡的唯一标识。在SIM卡加载完成后,Telephony 以ICCID为关键字在数据库中查找,如果没有找到 ,则说明此卡第一次插入,则在数据库中添加此SIM卡记录(siminfo表);如果找到则更新原有记录,但是此记录在数据库中的序号不变,即subId不变。Sub Idsiminfo表中的Primary Key,从1开始的整数,标识卡记录在数据库表中的顺序号。第1张插入的卡是1,之后累加。- SIM卡可以切换卡槽 ,但是subId不会变。原创 2024-01-23 12:03:27 · 1379 阅读 · 0 评论 -
【笔记】KaiOS OTA APN 方案(OMADM)
在 buildPreferredApnSettings定制的类型会触发dataprofile下发MD,在engmode中实现。2.内部收到消息在receiveMessage(aMessage)匹配case 执行。OMADM 机制根据节点信息修改对应的APN,因此代码也通过Node消息管控实现。在engmode实现同步APN到MD的接口。原创 2024-01-16 10:55:29 · 1069 阅读 · 0 评论 -
KaiOS 运营商相关文件operator_variant_manager.js代码功能和调试
3、将修改后的operator_variant_manager.js拷贝回application.zip,覆盖原文件。如下图,设备成功USB连接后,点击Launcher应用对应管的检查,进入调试,再控制台输入代码片段,点击运行。2、直接打开压缩包,进入js目录获取文件(可拉取到本地修改后覆盖进去zip,再push到机器验证)4、推入手机使应用生效(其中application.zip是本地文件路径,需要自行替换)1、获取应用代码:通过下面的命令获取application.zip(会是压缩包形式)原创 2023-12-11 19:58:47 · 92 阅读 · 0 评论 -
KaiOS PDN建立成功但是WFC激活失败的问题分析解决
具体cb(datcall)里面的,datacall的可读参数见 gecko/dom/webidl/DataCallManager.webidl中DataCall对象的属性。然后在回调里面查看data的信息,如果发生这种datacall信息变化的情况,就重试。如果确认QCOM平台底层信息变化行为正常,则建议APP添加监听,在此场景请求重连。Android PDN建立成功后,IP Address 更新也不会断连。弹窗打开WFC的时候无法激活 WiFi calling。原创 2023-12-05 14:45:35 · 137 阅读 · 0 评论 -
Android U 匹配不到APN,无法发起数据建立的问题分析
匹配不到关键就是在网络能力评估的过程,canBeSatisfiedBy会根据APN类型筛选能力匹配的项,在canHandleType检查完APN可用性之后,返回enable且符合网络的APN。3、APN 配置了但被disable了——APN proofile的carrierEnable值。查看APNSettings配置是否正确,以上问题就是APN配置了但被disable了。2、APN 类型/网络能力不满足——APN type或bearer。APN 被disable了,所以无法匹配。1、APN 没有配置。原创 2023-11-22 18:03:10 · 656 阅读 · 1 评论 -
Android APN 参数数据库设计和代码实现
一个运营商数据连接的接入点名称(APN)配置。原创 2023-11-22 16:41:42 · 304 阅读 · 0 评论 -
【笔记】Android 有效设置无线数据网络链路的 MTU 大小
在 Android 中,MTU(Maximum Transmission Unit)是指数据包在网络传输中的最大大小,可以通过配置来设置。首先,获取要配置的网络接口对象,例如 Wi-Fi 接口。【数据封装】接收应用层的分片数据,加入TCP头部地址变成数据段。,也可自定义 MTU 大小,以满足特定的网络需求。【数据封装】数据分片,因为文件过大不可能整个传输。文件传输,电子邮件,文件服务,虚拟终端。数据格式化,代码转换,数据加密。应用层协议数据单元 APDU。表示层协议数据单元 PPDU。原创 2023-06-24 23:31:49 · 1282 阅读 · 0 评论 -
KaiOS APN Settings模块代码
APN界面在Settings应用菜单实现,代码归属gaia/apps/settings。KaiOS panel 生命周期:onInit->onBeforeShow->onShow->onBeforeHide->onHide。原创 2023-10-12 15:52:25 · 180 阅读 · 0 评论