1.不卡网卡1卡2卡3乱码日本公司
2.OpenHarmony源码解析之电话子系统——通话流程
3.SystemUIå¦ä½è·å¾SIMå¡ç¸å
³çmcc/mncå¼
4.OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL
不卡网卡1卡2卡3乱码日本公司
一卡2卡三卡4卡乱码不卡
1、源码卡槽接触是代码大全否良好。一卡二卡三卡四卡乱码不卡,源码要确定是代码大全你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码。2、源码首先确定是代码大全易信源码你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码。
3、源码这个应该去移动营业厅,代码大全让他重新给你换一张卡。源码
4、代码大全日产乱码卡一卡2卡三卡四是源码一款体验感非常好的视频软件。这款软件可以支持免费观看,代码大全不需要你花钱就可以免费观看全部的源码视频资源,十分的代码大全方便。日产乱码卡一卡2卡三卡四这款软件还可以智能的源码为你跳过片头片尾。
5、卡2卡三卡乱码 首先确定是你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码 SD卡出现乱码是文件系统,或卡内部分数据出错造成。
日产一卡2卡三卡4卡乱码 1、日产乱码卡,一卡二卡三卡四卡是一款体验非常好的视频软件。这个软件可以支持免费观看,不花钱就可以免费观看所有视频资源,非常方便。日产乱码卡,一卡,二卡,三卡,四卡。这个软件还可以智能的android考试源码下载为你跳过开头和结尾。2、日产乱码卡,一卡二卡三卡四卡是一款体验非常好的视频软件。这个软件可以支持免费观看,不花钱就可以免费观看所有视频资源,非常方便。
3、日产车显示一二三四乱码可以根据需要进行视频清晰度调节。日产汽车是一家业务涵盖汽车制造、造船和航天技术等的公司,成立于年,其前身是户姻铸造公司和日本产业公司合并的汽车制造公司。
4、日本乱码这种,应该是一个不健康的网站,不建议游览,以防被侵犯自己的信息安全与财产安全。建议不要深入其中。
在哪里办理5g无线宽带 您好,用户如需办理电信套餐可以直接通过电信网上营业厅或者电信营业厅进行办理,推荐用户办理5G畅享套餐使用。您好,两种办理方式: 方式一,前往附近电信营业厅说明自己要办理的5G套餐。 方式二,下载电信手机版营业厅,用号码登陆进入办理区自助办理5G套餐。安徽电信公众号为您服务。
办理方式可通过:上海电信网上营业厅;电信营业厅APP;上海电信公众号;当地的逐行分析jquery源码电信营业厅;办理电信业务要通过正规的办理途径,切记不可随便通过网上发布的不明链接办理,以防泄露个人的身份信息。
中国电信美好家三千兆套餐,一个套餐全家享,5G畅用在电信,副卡共享主卡基础套餐内容。具体详情以实际办理情况为准。如需办理电信宽带套餐可以直接到当地电信营业厅或者登录上海电信网上营业厅进行办理。
你们家搬家了,办理5G套餐去网上营业厅是非常方便的,这样性价比也是非常高的啊。
登录电信营业厅APP选择宽带栏目,选择自己想要办理的宽带套餐,按照APP指示的步骤进行办理;关注:“中国电信上海网厅”公众号,通过公众号进行办理。通过网页登录:上海电信网上营业厅官网进入宽带专区进行线上办理。
国内不卡网卡1卡2卡3 在手机中打开设置,点击双卡与移动网络。点击上网卡下方的1,将上网卡设置成卡1。点击启用数据网络后面的开关,启用数据网络。这样在没有WiFi的情况下,默认卡1为上网卡,使用卡1数据流量进行上网。可能SIM卡槽接触不良好,插在电脑上有的东西你看不到那是因为有的文件是隐藏的,但是他占用空间,还有你的spring mvc 源码分析个不能播放应该是你没有把歌下载好,没有完全下载下来,所以就是文件损害。
不卡。国内卡1卡2卡主要指双卡双待手机,也就是支持两张网络卡,一张用于4G网络,一张用于2G/3G网络,以实现无缝切换,解决网络信号不稳定的问题。目前国内市场上的双卡双待手机,基本都支持此功能,所以一般是不卡的。
卡槽是否接触良好。一卡,二卡,三卡,四卡乱码,一定要保证你的SIM卡槽接触良好或者有污染物会导致SIM卡乱码。更改源代码编辑器中使用的字体和颜色、当前用于区分乱码中的语法元素的颜色以及突出显示背景时的颜色。
成片一卡2卡3卡4卡乱码 1、卡一卡2卡三卡四乱码是由于使用中没有安全删除硬件造成的。首先确定是你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码SD卡出现乱码是文件系统或卡内部分数据出错造成。2、卡槽接触是否良好。一卡二卡三卡四卡乱码不卡,要确定是你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码。
3、这个应该去移动营业厅,php广告任务源码让他重新给你换一张卡。
4、可能SIM卡槽接触不良好,插在电脑上有的东西你看不到那是因为有的文件是隐藏的,但是他占用空间,还有你的个不能播放应该是你没有把歌下载好,没有完全下载下来,所以就是文件损害。
5、卡2卡三卡乱码 首先确定是你的SIM卡槽接触是否良好或者有污染物的问题会导致SIM卡乱码 SD卡出现乱码是文件系统,或卡内部分数据出错造成。
6、日产乱码卡一卡2卡三卡四是一款体验感非常好的视频软件。这款软件可以支持免费观看,不需要你花钱就可以免费观看全部的视频资源,十分的方便。日产乱码卡一卡2卡三卡四这款软件还可以智能的为你跳过片头片尾。
OpenHarmony源码解析之电话子系统——通话流程
OpenAtom OpenHarmony的电话子系统为OS提供了基础的无线通信能力,支持多种网络制式,包括高速无线数据传输和互联网接入。主要功能涵盖语音、短信、彩信、SIM卡管理等。
电话子系统是OpenHarmony架构的重要组成部分,负责CS域(如语音呼叫)和PS域(如数据业务)的服务。系统结构包括应用层(如电话应用、短信应用等)、框架层(SDK提供接口,Framework提供功能模块,如call_manager、cellular_call等)、Hril层(抽象无线硬件设备)和Vendor lib层(与modem交互)等。
代码结构方面,通话管理模块负责CS、IMS和OTT通话,蜂窝通话模块支持2G到5G的语音和数据功能。电话核心服务提供RIL管理和SIM卡功能,数据库模块负责数据存储。RIL Adapter模块屏蔽硬件差异,短彩信模块处理短信和彩信功能,状态注册模块监控网络状态等变化。
源码解析中,通话功能的实现涉及多个模块间的协作,如通话管理、蜂窝通话服务、Telephony核心服务和RIL适配。以电话接听(Answer)为例,流程从用户点击answer,通过层层调用,涉及call_manager、cellular_call等服务,最终到达modem处理AT命令。整个过程显示了系统内部复杂的服务交互和跨层通信机制。
电话子系统的核心类处理了各种通话类型和上层应用的接口,如dial、answer等。从UI响应到调用底层modem,每个环节都体现了OpenHarmony的模块化设计和通信流程。
SystemUIå¦ä½è·å¾SIMå¡ç¸å ³çmcc/mncå¼
SystemUIè·å¾SIMå¡ç¸å ³çmcc/mncå¼ï¼å两ç§æ åµè®¨è®ºè¿ä¸ªå¼æ¯åå¨å¨SIMå¡IMSIï¼å½é 移å¨ç¨æ·è¯å«ç International Mobile Subscriber Identification Numberï¼ä¸çåºå®å¼ï¼ä¸ä¼è¢«æ´æ¹ãæ以ä¸ä¸¤ç§éå¾å¯ä»¥åå¾ã
å¨TelephonyManagerä¸æå¦ä¸æ¹æ³ï¼
âââ
å¨æäºç¹æ®æ åµä¸ï¼æ¯å¦SIMå¡å¤äºPINç LOCKç¶ææ¶ï¼1.1ææå°çæ¹æ³æ¯åä¸å°çï¼è¿ä¸ªæ¶ååªè½éè¿SubscriptionInfoæ¥åã
注æï¼ç±äºè¿ä¸ªæ¹æ³åå°çmcc/mncå为intå¼ï¼æ¯å¦ä¸å½èéçââï¼åæmcc为ââï¼mnc为â1âï¼ä¸åºå®Stringå符串è¿è¡å¹é æ¯å¯¹çè¯ï¼éè¦å å°Stringæå为两é¨åååå«å¼ºè½¬æintååæå¯è¿è¡æ¯å¯¹ã
é漫游æ åµä¸ï¼æ³¨åç½ç»çmcc/mncå°±æ¯SIMå¡ä¸åå¨çãä½æ¯å¦æä½ çSIMå¡å¨å ¶ä»å½å®¶å¹¶æ²¡æ该è¿è¥åçåºç«ï¼åªè½éè¿æ¼«æ¸¸å°å ¶ä»è¿è¥åçç½ç»ä¸ç»´ææå¡æ¶ï¼æ³¨åç½ç»çmcc/mnc对åºçå°±æ¯è¯¥è¿è¥åçå¼ï¼ä¸SIMå¡æ å ³äºã
çæAndroid Telephonyæµç¨çæååºè¯¥é½ç¥éï¼CSãPSåç注åç¶æï¼æ¼«æ¸¸ç¶æï¼è¿è¥åååçæ¾ç¤ºï¼ç½ç»æ¨¡å¼çé½æ¯ç¨æ¨¡æ¿ç±»ServiceState.javaæ¥ä¿åçã
SystemUIä¸æä¸å°ç±»é½æ³¨åäºPhoneStateListenerè¿ä¸ªcallbackï¼ç¨æ¥æ¶å»å ³æ³¨è®¾å¤çä¸äºtelephonyç¸å ³ç¶æï¼å½ç½ç»æå¡ç¶ææååæ¶ï¼ä¼åè°å ¶onServiceStateChanged(ServiceState serviceState)æ¹æ³ï¼è¿æ ·æ们就å¯ä»¥ç´æ¥ä»ServiceStateéé¢åäºã
ä¸è¬æ¥è¯´ï¼voiceè¯é³ä¸å¡ådataæ°æ®ä¸å¡å¯¹åºçOperatorNumericæ¯ä¸æ ·çï¼æ以getOperatorNumeric()é»è®¤åäºvoiceçã
ç±äºè¯¥Intent action为MTKæ°å¢çï¼æ 以ä¸æ¹æ³ä»ç»å以MTKæºç 为åºç¡ã
ä¸é¢çæ¹æ³å¿ é¡»å¨voiceä¸dataå注åæåçåæä¸æè½è·å¾ï¼ä½æ¯å¨ä¸äºå¾ç¹æ®çç¯å¢ä¸ï¼æ¯å¦SIMå¡è½ç¶æ¼«æ¸¸ä¸äºæä¸ªå ¶ä»è¿è¥åçç½ç»ï¼ä½ç±äºä¸¤å®¶è¿è¥åä¹é´å¹¶æ²¡æåè®®ï¼å¯¼è´æ æ³æ³¨åä¸æå¡ï¼æ¤æ¶voiceådataåå¾çOperatorNumericå为空çã
å¨MTKæºç ä¸ï¼MtkServiceStateTrackerå¨å¤çPLMN Stringå³mcc/mncæ¶ï¼ä¼éè¿action为âTelephonyIntents.ACTION_LOCATED_PLMN_CHANGEDâç广æï¼æå®ä½ä¸ºextraåæ°ä¼ éåºå»ã
ç±æ¤å¯ç¥ï¼åªè¦å¨éè¦åçç±»ä¸ï¼æ³¨åä¸ä¸ªçå¬âACTION_LOCATED_PLMN_CHANGEDâçBroadcastReceiverå°±è¡äºï¼å¨è®¾å¤å¼æºä¹å便å¯ä»¥ç¬¬ä¸æ¶é´æ¿å°æ¼«æ¸¸ç½ç»çmcc/mncå¼ï¼å ·ä½å¦ä¸ï¼
OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL
市场上针对终端操作系统3GPP协议开发的相关资料较为稀缺,即便在Android领域,相关学习文档也较为有限,更不用说专门的协议开发书籍了。这可能与市场需求有关,目前市场上从事前后端软件开发的人员最多,包括我自己。
鉴于我在某手机协议开发团队工作过一段时间,对协议的AP侧和CP侧开发都有所涉猎,因此我尝试基于OpenAtom OpenHarmony(以下简称“OpenHarmony”)源码编写一些内容,旨在帮助大家了解协议开发领域,尽可能将3gpp协议内容与OpenHarmony电话子系统模块相结合进行讲解。据我所知,目前终端协议开发人才非常紧缺。首先声明,我不是协议专家,且已离开该领域五六年,如有错误,欢迎指正。
谈到终端协议开发,我首先想到的就是RIL。
CP:Communication Processor(通信处理器),通常理解为modem侧,也可以理解为底层协议,这部分由各个modem芯片厂商完成(如海思、高通)。
AP:Application Processor(应用处理器),通常指手机终端,通常理解为上层协议,主要由操作系统Telephony服务进行处理。
RIL:Radio Interface Layer(无线电接口层),通常理解为硬件抽象层,即AP侧将通信请求传给CP侧的中间层。
AT指令:AT指令是应用于终端设备与PC应用之间连接与通信的指令。
常规的Modem开发与调试可以使用AT指令进行操作,而各家的Modem芯片的AT指令都会有各自的差异。因此,手机终端厂商为了能在各种不同型号的产品中集成不同modem芯片,需要进行解耦设计来屏蔽各家AT指令的差异。
于是,OpenHarmony采用RIL对Modem进行HAL(硬件抽象),作为系统与Modem之间的通信桥梁,为AP侧提供控制Modem的接口,各Modem厂商则负责提供对应于AT命令的Vender RIL(这些一般为封装好的so库),从而实现操作系统与Modem间的解耦。
框架层:Telephony Service,电话子系统核心服务模块,主要功能是初始化RIL管理、SIM卡和搜网模块。对应OpenHarmony的源码仓库OpenHarmony/telephony_core_service。这个模块也是非常重要的一个模块,后期单独再做详细解读。
硬件抽象层:即我们要讲的RIL,对应OpenHarmony的源码仓库OpenHarmony/telephony_ril_adapter。RIL Adapter模块主要包括厂商库加载,业务接口实现以及事件调度管理。主要用于屏蔽不同modem厂商硬件差异,为上层提供统一的接口,通过注册HDF服务与上层接口通讯。
芯片层:Modem芯片相关代码,即CP侧,这些代码各个Modem厂商是不开放的,不出现在OpenHarmony中。
硬件抽象层又被划分为hril_hdf层、hril层和venderlib层。
hril_hdf层:HDF服务,基于OpenHarmony HDF框架,提供hril层与Telephony Service层进行通讯。
hril层:hril层的各个业务模块接口实现,比如通话、短彩信、数据业务等。
vendorlib层:各Modem厂商提供的对应于AT命令库,各个厂商可以出于代码闭源政策,在这里以so库形式提供。目前源码仓中已经提供了一套提供代码的AT命令操作,至于这个是针对哪个型号modem芯片的,我后续了解清楚再补充。
下面是ril_adapter仓的源码结构:
本文解读RIL层很小一部分代码,RIL是如何通过HDF与Telephony连接上的,以后更加完整的逻辑梳理会配上时序图讲解,会更加清晰。首先,我们要对OpenHarmony的HDF(Hardware Driver Foundation)驱动框架做一定了解,最好是动手写一个Demo案例,具体的可以单独去官网查阅HDF资料。
首先,找到hril_hdf.c文件的代码,它承担的是驱动业务部分,源码中是不带中文注释的,为了梳理清楚流程,我给源码关键部分加上了中文注释。
上述代码中配置了对应该驱动的moduleName为"hril_hdf",因此我们需要去找到对应驱动的配置文件,以HiDV开发板为例,它的驱动配置在vendor_hisilicon/HiDV/hdf_config/uhdf/device_info.hcs代码中可以找到,如下:
这里可以发现该驱动对应的服务名称为cellular_radio1,那么telephony_core_service通过HDF与RIL进行通信肯定会调用到该服务名称,因此无查找telephony_core_service的相关代码,可以很快定位到telephony_core_service/services/tel_ril/src/tel_ril_manager.cpp该代码,该代码中有一个关键类TelRilManager,它用来负责管理tel_ril。
看tel_ril_manager.cpp中的一个关键函数ConnectRilAdapterService,它就是用来通过HDF框架获取RIL_ADAPTER的服务,之前定义过RIL_ADAPTER_SERVICE_NAME常量为"cellular_radio1",它就是在vendor_hisilicon/XXXX/hdf_config/uhdf/device_info.hcs中配置的hril_hdf驱动对应的服务名称。