0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【電話服務(wù)子系統(tǒng)】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-14 21:49 ? 次閱讀

簡(jiǎn)介

電話服務(wù)子系統(tǒng),提供了一系列的API用于獲取無(wú)線蜂窩網(wǎng)絡(luò)SIM卡相關(guān)的一些信息。應(yīng)用可以通過(guò)調(diào)用API來(lái)獲取當(dāng)前注冊(cè)網(wǎng)絡(luò)名稱、網(wǎng)絡(luò)服務(wù)狀態(tài)、信號(hào)強(qiáng)度以及SIM卡的相關(guān)信息。

各個(gè)模塊主要作用如下:

  • 核心服務(wù)模塊:主要功能是初始化RIL管理、SIM卡和搜網(wǎng)模塊。
  • 通話管理模塊:主要功能是管理CS(Circuit Switch,電路交換)、IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))和OTT(over the top,OTT解決方案)三種類型的通話,申請(qǐng)通話所需要的音視頻資源,處理多路通話時(shí)產(chǎn)生的各種沖突。
  • 蜂窩通話模塊:主要功能是實(shí)現(xiàn)基于運(yùn)營(yíng)商網(wǎng)絡(luò)的基礎(chǔ)通話。
  • 蜂窩數(shù)據(jù)模塊:主要功能是實(shí)現(xiàn)基于運(yùn)營(yíng)商網(wǎng)絡(luò)的蜂窩數(shù)據(jù)上網(wǎng)。
  • 短彩信模塊:主要功能是短信收發(fā)和彩信編解碼。
  • 狀態(tài)訂閱模塊:主要功能是提供電話服務(wù)子系統(tǒng)各種消息事件的訂閱以及取消訂閱的API。
  • 數(shù)據(jù)存儲(chǔ)模塊:主要功能是持久化數(shù)據(jù)存儲(chǔ),提供DataAbility訪問(wèn)接口
  • RIL Adapter模塊: 主要功能是與modem通信接口的適配。

圖 1 子系統(tǒng)架構(gòu)圖

目錄

base/telephony/
├── core_service            # 核心服務(wù)
├── call_manager            # 通話管理
├── cellular_call           # 蜂窩通話
├── cellular_data           # 蜂窩數(shù)據(jù)
├── sms_mms                 # 短彩信
├── state_registry          # 狀態(tài)訂閱
├── data_storage            # 數(shù)據(jù)存儲(chǔ)
└── ril_adapter             # RIL Adapter

約束

  1. 目前開(kāi)源的范圍包括蜂窩通話(僅支持CS通話)、短信、數(shù)據(jù)上網(wǎng),支持雙SIM卡框架。
  2. 南向HDI依賴芯片廠商適配。

使用說(shuō)明

具體請(qǐng)參考子模塊README,下面以獲取當(dāng)前蜂窩網(wǎng)絡(luò)信號(hào)信息和觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化為例,說(shuō)明電話服務(wù)子系統(tǒng)接口調(diào)用請(qǐng)求和狀態(tài)訂閱的使用方法。

獲取當(dāng)前蜂窩網(wǎng)絡(luò)信號(hào)信息

  1. 從@ohos.telephony.radio.d.ts中導(dǎo)入radio命名空間。
  2. 可以通過(guò)callback或者Promise的方式調(diào)用getSignalInformation(slotId: number)方法。
  3. 該接口為異步接口,結(jié)果會(huì)從callback中返回SignalInformation數(shù)組。
  4. 遍歷SignalInformation數(shù)組,獲取不同制式(signalType)的信號(hào)強(qiáng)度(signalLevel)。
    // 引入包名
    import radio from "@ohos.telephony.radio";
    
    // 參數(shù)賦值
    let slotId = 0;
    
    // 調(diào)用接口【callback方式】
    radio.getSignalInformation(slotId, (err, value) = > {
      if (err) {
        // 接口調(diào)用失敗,err非空
        console.error(`failed to getSignalInformation because ${err.message}`);
        return;
      }
      // 接口調(diào)用成功,err為空
      for (let i = 0; i < value.length; i++) {
        console.log(`success to getSignalInformation: type is ${value[i].signalType}, level is ${value[i].signalLevel}`);
      }
    });
    
    // 調(diào)用接口【Promise方式】
    let promise = radio.getSignalInformation(slotId);
    promise.then((value) = > {
      // 接口調(diào)用成功,此處可以實(shí)現(xiàn)成功場(chǎng)景分支代碼。
      for (let i = 0; i < value.length; i++) {
        console.log(`success to getSignalInformation: type is ${value[i].signalType}, level is ${value[i].signalLevel}`);
      }
    }).catch((err) = > {
      // 接口調(diào)用失敗,此處可以實(shí)現(xiàn)失敗場(chǎng)景分支代碼。
      console.error(`failed to getSignalInformation because ${err.message}`);
    });
    

觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化

添加觀察事件

  1. 從@ohos.telephony.observer.d.ts中導(dǎo)入observer命名空間。
  2. 調(diào)用on(type: 'networkStateChange')方法,傳入卡槽id(slotId)和收到事件的回調(diào)處理函數(shù)(callback),其中slotId為可選參數(shù)。
  3. 當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生變更時(shí),調(diào)用者會(huì)收到回調(diào)。
    // 引入包名
    import observer from '@ohos.telephony.observer';
    
    // 開(kāi)啟訂閱
    observer.on('networkStateChange', {slotId: 0}, (value) = > {
      console.log(`network state is ` + value);
    });
    

停止觀察

  1. 從@ohos.telephony.observer.d.ts中導(dǎo)入observer命名空間。

  2. 調(diào)用off(type: 'networkStateChange')方法,傳入添加觀察事件時(shí)的callback對(duì)象(可選)。

    // 引入包名
    import observer from '@ohos.telephony.observer';
    
    // 關(guān)閉訂閱
    observer.off('networkStateChange');
    

    審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1502

    瀏覽量

    62080
  • 蜂窩網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    2

    文章

    209

    瀏覽量

    21657
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2358

    瀏覽量

    42876
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本 3.搭建 Flutter鴻蒙開(kāi)發(fā)環(huán)境 參考文章《鴻蒙Flutter實(shí)戰(zhàn):0
    發(fā)表于 12-26 14:59

    【書(shū)籍評(píng)測(cè)活動(dòng)NO.53】鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)

    操作系統(tǒng)從2019年8月9日正式發(fā)布,歷時(shí)1778天,歷經(jīng)4代,鴻蒙生態(tài)設(shè)備數(shù)量已超過(guò)9億,已有254萬(wàn)HarmonyOS開(kāi)發(fā)者投入到鴻蒙世界的開(kāi)發(fā)
    發(fā)表于 12-16 15:10

    鴻蒙原生開(kāi)發(fā)手記:01-元服務(wù)開(kāi)發(fā)

    簡(jiǎn)介 元服務(wù)鴻蒙中的一種輕量應(yīng)用形態(tài),無(wú)需下載,直接運(yùn)行。類似于微信小程序,但與小程序不同的是,元服務(wù)更加輕量。 元服務(wù)使用原生開(kāi)發(fā),是
    發(fā)表于 11-14 17:28

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實(shí)戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開(kāi)發(fā)環(huán)境](https://g
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):07混合開(kāi)發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開(kāi)發(fā) 鴻蒙Flutter混合開(kāi)發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【Hdf Framework】

    該倉(cāng)主要存放OpenHarmony驅(qū)動(dòng)子系統(tǒng)核心源碼信息(包括驅(qū)動(dòng)框架、配置管理、配置解析、驅(qū)動(dòng)通用框架模型、硬件通用平臺(tái)能力接口等),旨在為開(kāi)發(fā)者提供更精準(zhǔn)、更高效的開(kāi)發(fā)環(huán)境,力求做到一次開(kāi)
    的頭像 發(fā)表于 03-21 20:29 ?526次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【Hdf Framework】

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【系統(tǒng)服務(wù)管理部件】

    samgr組件是OpenHarmony的核心組件,提供OpenHarmony系統(tǒng)服務(wù)啟動(dòng)、注冊(cè)、查詢等功能。
    的頭像 發(fā)表于 03-21 17:56 ?361次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>服務(wù)</b>管理部件】

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【系統(tǒng)服務(wù)框架部件】

    系統(tǒng)服務(wù)管理子系統(tǒng)中safwk組件定義OpenHarmony中SystemAbility的實(shí)現(xiàn)方法,并提供啟動(dòng)、注冊(cè)等接口實(shí)現(xiàn)。
    的頭像 發(fā)表于 03-21 15:44 ?300次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>服務(wù)</b>框架部件】

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【系統(tǒng)服務(wù)管理部件】

    samgr組件是OpenHarmony的核心組件,提供OpenHarmony系統(tǒng)服務(wù)啟動(dòng)、注冊(cè)、查詢等功能。
    的頭像 發(fā)表于 03-19 15:52 ?367次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>服務(wù)</b>管理部件】

    鴻蒙開(kāi)發(fā)學(xué)習(xí):【驅(qū)動(dòng)子系統(tǒng)

    OpenHarmony驅(qū)動(dòng)子系統(tǒng)采用C面向?qū)ο缶幊棠P蜆?gòu)建,通過(guò)平臺(tái)解耦、內(nèi)核解耦,兼容不同內(nèi)核,提供了歸一化的驅(qū)動(dòng)平臺(tái)底座,旨在為開(kāi)發(fā)者提供更精準(zhǔn)、更高效的開(kāi)發(fā)環(huán)境,力求做到一次開(kāi)發(fā)
    的頭像 發(fā)表于 03-17 22:05 ?606次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>學(xué)習(xí):【驅(qū)動(dòng)<b class='flag-5'>子系統(tǒng)</b>】

    鴻蒙開(kāi)發(fā)實(shí)戰(zhàn):【包管理子系統(tǒng)

    包管理子系統(tǒng)負(fù)責(zé)應(yīng)用安裝包的管理,提供安裝包的信息查詢、安裝、更新、卸載和包信息存儲(chǔ)等能力
    的頭像 發(fā)表于 03-14 15:23 ?694次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b>:【包管理<b class='flag-5'>子系統(tǒng)</b>】

    軟通動(dòng)力與鴻蒙生態(tài)服務(wù)雙方將共同聚焦鴻蒙原生應(yīng)用開(kāi)發(fā)和培訓(xùn)領(lǐng)域

    3月8日,軟通動(dòng)力與鴻蒙生態(tài)服務(wù)(深圳)有限公司(以下簡(jiǎn)稱“鴻蒙生態(tài)服務(wù)公司”)簽署合作協(xié)議,雙方將共同聚焦鴻蒙原生應(yīng)用
    的頭像 發(fā)表于 03-14 09:54 ?511次閱讀

    鴻蒙實(shí)戰(zhàn)應(yīng)用開(kāi)發(fā):【撥打電話】功能

    概述 本示例通過(guò)輸入電話,進(jìn)行電話撥打,及電話相關(guān)信息的顯示。 樣例展示 涉及OpenHarmony技術(shù)特性 網(wǎng)絡(luò)通信 基礎(chǔ)信息 撥打電話 介紹 本示例使用call相關(guān)接口實(shí)現(xiàn)了撥
    發(fā)表于 03-04 20:22

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開(kāi)發(fā):【短信服務(wù)

    數(shù)據(jù)管理 電話服務(wù) 分布式應(yīng)用開(kāi)發(fā) 通知與窗口管理 多媒體技術(shù) 安全技能 任務(wù)管理 WebGL 國(guó)際化開(kāi)發(fā) 應(yīng)用測(cè)試 DFX面向未來(lái)設(shè)計(jì) 鴻蒙
    發(fā)表于 03-03 21:29

    鴻蒙原生應(yīng)用/元服務(wù)實(shí)戰(zhàn)-Web隱私聲明

    這個(gè)位置的隱私申明是需要在WEB網(wǎng)頁(yè)下完成的,ArkTS鴻蒙原生應(yīng)用與元服務(wù)開(kāi)發(fā)者,不一定熟悉這塊,一些公司也不一定有自己的服務(wù)器和域名、網(wǎng)站網(wǎng)頁(yè)或者相關(guān)權(quán)限是外包,沒(méi)法進(jìn)行實(shí)時(shí)操作。
    發(fā)表于 01-24 15:05