
回复
电话核心服务模块主要功能是初始化RIL管理、SIM卡和搜网模块,以及获取RIL Adapter服务。
通过注册回调服务,实现与RIL Adapter进行通信;通过发布订阅,来实现与各功能模块的通信。
图 1 电话核心服务架构图
上图示中电话核心服务关联的业务服务包括SIM卡服务、搜网服务、RIL通信管理。
电话核心服务模块需要提供SIM卡,搜网相关模块的接口。
接口名称 | 接口描述 | 所需权限 |
---|---|---|
function getSimState(slotId: number, callback: AsyncCallback<SimState>): void; | 获取卡状态 | 无 |
function getISOCountryCodeForSim(slotId: number, callback: AsyncCallback<string>): void; | 获取国家码 | 无 |
function getSimOperatorNumeric(slotId: number, callback: AsyncCallback<string>): void; | 获取运营商数字码 | 无 |
function getSimSpn(slotId: number, callback: AsyncCallback<string>): void; | 获取SPN信息 | 无 |
接口名称 | 接口描述 | 所需权限 |
---|---|---|
function getRadioTech(slotId: number, callback: AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>): void; | 获取当前接入技术 | ohos.permission.GET_NETWORK_INFO |
function getSignalInformation(slotId: number, callback: AsyncCallback<Array<SignalInformation>>): void; | 获取信号列表 | 无 |
function getNetworkState(slotId: number, callback: AsyncCallback<NetworkState>): void; | 获取网络状态 | ohos.permission.GET_NETWORK_INFO |
说明: RIL管理不对外暴露接口,其接口可通过电话服务子系统各个模块调用。
以获取网络状态为例,相关流程如下:
指定查询的slotId,若不指定默认查询主卡信息。
可以通过callback或者Promise的方式调用getNetworkState方法,返回网络状态信息。
该接口为异步接口,相关执行结果会从callback中返回。
以查询指定SIM卡的状态为例,相关流程如下:
指定查询的slotId。
可以通过callback或者Promise的方式调用getSimState方法,返回卡状态信息。
该接口为异步接口,相关执行结果会从callback中返回。
电话服务子系统
telephony_core_service
telephony_sms_mms