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

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

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

在DAYU200上實(shí)現(xiàn)OpenHarmony跳轉(zhuǎn)撥號(hào)界面

OpenAtom OpenHarmony ? 來(lái)源:未知 ? 2022-10-17 22:05 ? 次閱讀

點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們

開源項(xiàng)目 OpenHarmony是每個(gè)人的 OpenHarmony 09699672-4e24-11ed-a3b6-dac502259ad0.png

徐建國(guó)

潤(rùn)和軟件生態(tài)技術(shù)專家

以下內(nèi)容來(lái)自嘉賓分享,不代表開放原子開源基金會(huì)觀點(diǎn)

一、簡(jiǎn)介

日常生活中,打電話是最常見的交流方式之一,那么如何在OpenAtom OpenHarmony(簡(jiǎn)稱“OpenHarmony”)中進(jìn)行電話服務(wù)相關(guān)的開發(fā)呢?今天我們可以一起來(lái)了解一下如何通過(guò)電話服務(wù)系統(tǒng)支持的API實(shí)現(xiàn)撥打電話的功能。

二、效果展示

0c547dd4-4e24-11ed-a3b6-dac502259ad0.gif ? 應(yīng)用可以通過(guò)調(diào)用call和observer模塊的API來(lái)獲取當(dāng)前注冊(cè)網(wǎng)絡(luò)名稱、網(wǎng)絡(luò)服務(wù)狀態(tài)、信號(hào)強(qiáng)度以及SIM卡的相關(guān)信息,具體可參考獲取當(dāng)前蜂窩網(wǎng)絡(luò)信號(hào)信息開發(fā)指導(dǎo)。 直接撥打電話需要提供系統(tǒng)權(quán)限ohos.permission.PLACE_CALL,在這里建議應(yīng)用使用makeCall(),跳轉(zhuǎn)到撥號(hào)界面,并顯示撥號(hào)的號(hào)碼,當(dāng)開發(fā)者調(diào)用makeCall接口時(shí),設(shè)備會(huì)自動(dòng)跳轉(zhuǎn)到撥號(hào)界面。 ?

三、接口說(shuō)明

call模塊為開發(fā)者提供呼叫管理功能。observer模塊為開發(fā)者提供通話業(yè)務(wù)狀態(tài)訂閱和取消訂閱功能。 call.hasVoiceCapability():能力獲取,表示是否具有語(yǔ)音功能。 call.makeCall()跳轉(zhuǎn)撥號(hào)界面,跳轉(zhuǎn)到撥號(hào)界面,并顯示撥號(hào)的號(hào)碼。 observer.on(‘callStateChange’):訂閱通話業(yè)務(wù)狀態(tài)變化,ohos.permission.READ_CALL_LOG (獲取通話號(hào)碼需要該權(quán)限)。 observer.off(‘callStateChange’):取消訂閱通話業(yè)務(wù)狀態(tài)變化。

四、開發(fā)步驟

1.import需要的模塊。
// import需要的模塊
import call from '@ohos.telephony.call';
importobserverfrom'@ohos.telephony.observer';
2.調(diào)用hasVoiceCapability()接口獲取當(dāng)前設(shè)備呼叫能力,如果支持繼續(xù)下一步;如果不支持則無(wú)法發(fā)起呼叫。
// 調(diào)用查詢能力接口
let isSupport = call.hasVoiceCapability();
if (!isSupport) {
    console.log("not support voice capability, return.");
    return;
}
3.跳轉(zhuǎn)到撥號(hào)界面,并顯示撥號(hào)的號(hào)碼。
// 如果設(shè)備支持呼叫能力,則繼續(xù)跳轉(zhuǎn)到撥號(hào)界面,并顯示撥號(hào)的號(hào)碼
call.makeCall("13xxxx", (err)=> {
    if (!err) {
        console.log("make call success.");
    } else {
        console.log("make call fail, err is:" + JSON.stringify(err));
    }
});
4.訂閱通話業(yè)務(wù)狀態(tài)變化。(可選)
// 訂閱通話業(yè)務(wù)狀態(tài)變化(可選)
observer.on("callStateChange", (data) => {
    console.log("call state change, data is:" + JSON.stringify(data));
});
5.取消訂閱通話業(yè)務(wù)狀態(tài)變?cè)?。(可選)
// 取消訂閱通話業(yè)務(wù)狀態(tài)變化
observer.off("callStateChange", (data) => {
    console.log("call state change, data is:" + JSON.stringify(data));
});

五、完整代碼

//import需要的模塊
import call from '@ohos.telephony.call';
import observer from '@ohos.telephony.observer';
@Entry
@Component
struct CAllTest{
  build(){


    Column(){


      Button("打電話給堅(jiān)果").width(300).height(80) .fontSize(30).fontColor(Color.Orange).onClick(()=>{
        // 調(diào)用查詢能力接口
        let isSupport = call.hasVoiceCapability();
        if (!isSupport) {
          console.info(" support voice capability, return");
          return;
        }
        // 如果設(shè)備支持呼叫能力,則繼續(xù)跳轉(zhuǎn)到撥號(hào)界面,并顯示撥號(hào)的號(hào)碼
        call.makeCall("17752170152", (err)=> {
          if (!err) {
            console.info(" make call success.");


          } else {
            console.info("make call fail, err is:" + JSON.stringify(err));
          }
        });




      })


    }.width("100%").height("100%").justifyContent(FlexAlign.Center)




  }
}

源碼地址

https://gitee.com/jianguo888/callphone

六、總結(jié)

本文通過(guò)一個(gè)按鈕,實(shí)現(xiàn)了跳轉(zhuǎn)撥號(hào)的功能。首先為按鈕添加點(diǎn)擊事件,其次導(dǎo)入需要的模塊,調(diào)用hasVoiceCapability()接口獲取當(dāng)前設(shè)備呼叫能力,最終實(shí)現(xiàn)一鍵跳轉(zhuǎn)到撥號(hào)界面。大家可以將這個(gè)功能擴(kuò)展到自己的應(yīng)用里。比如,在一鍵呼叫,售后服務(wù)等場(chǎng)景。


原文標(biāo)題:在DAYU200上實(shí)現(xiàn)OpenHarmony跳轉(zhuǎn)撥號(hào)界面

文章出處:【微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3727

    瀏覽量

    16379

原文標(biāo)題:在DAYU200上實(shí)現(xiàn)OpenHarmony跳轉(zhuǎn)撥號(hào)界面

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    dayu200 rk3568 openharmony5.0 sim卡 通話服務(wù)

    想請(qǐng)問(wèn)一下有人在dayu200 rk3568插過(guò)sim卡并且成功完成過(guò)通話服務(wù)嗎? 我現(xiàn)在在dayu200燒錄了openHarmony
    發(fā)表于 12-26 16:52

    怎么DAYU200安裝應(yīng)用?

    怎么DAYU200安裝應(yīng)用
    發(fā)表于 02-07 16:07

    如何實(shí)現(xiàn)DAYU200開發(fā)板使能Panfrost驅(qū)動(dòng)并且支持OpenHarmony

    如何實(shí)現(xiàn)DAYU200開發(fā)板使能Panfrost驅(qū)動(dòng)并且支持OpenHarmony呢?
    發(fā)表于 03-02 10:26

    OpenHarmony 3.1 Release初體驗(yàn) 潤(rùn)和DAYU200開發(fā)套件

    固件下載手里剛好有一塊DAYU200開發(fā)板,官方剛好有發(fā)布編譯的固件,下載鏈接:https://gitee.com/openharmony/docs/blob/master/zh-cn
    發(fā)表于 03-31 18:10

    潤(rùn)和DAYU200領(lǐng)跑OpenHarmony富設(shè)備產(chǎn)業(yè)化!

    火熱進(jìn)行,歡迎廣大開發(fā)者踴躍報(bào)名。此外,即將于4月25日深圳召開的以“共建新技術(shù) 開拓新領(lǐng)域”為主題的OpenHarmony 330技術(shù)日大型活動(dòng)上,潤(rùn)和DAYU200將亮相多個(gè)展區(qū)、提供豐富的富設(shè)備
    發(fā)表于 04-21 20:06

    #DAYU200# OpenHarmony跳轉(zhuǎn)撥號(hào)界面

    功能。call.makeCall()跳轉(zhuǎn)撥號(hào)界面跳轉(zhuǎn)撥號(hào)界面,并顯示撥號(hào)的號(hào)碼。observ
    發(fā)表于 09-21 16:04

    DAYU200實(shí)現(xiàn)OpenHarmony跳轉(zhuǎn)撥號(hào)界面

    為按鈕添加點(diǎn)擊事件,其次導(dǎo)入需要的模塊,調(diào)用hasVoiceCapability()接口獲取當(dāng)前設(shè)備呼叫能力,最終實(shí)現(xiàn)一鍵跳轉(zhuǎn)撥號(hào)界面。大家可以將這個(gè)功能擴(kuò)展到自己的應(yīng)用里。比如,
    發(fā)表于 10-19 11:39

    【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)功能演示

    該視頻已經(jīng)同步上傳至硬聲app,賬號(hào)名稱離北況歸移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)系列文章:【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)準(zhǔn)
    發(fā)表于 11-06 22:35

    潤(rùn)開鴻DAYU200DAYU210聯(lián)袂通過(guò)OpenHarmony 3.2 Release版本兼容性測(cè)評(píng)

    百業(yè)的生態(tài)使命。 2023開放原子全球開源峰會(huì)OpenHarmony分論壇OpenHarmony 3.2 Release先行示范儀式,潤(rùn)開鴻受邀參與儀式的官方展示環(huán)節(jié),分享了
    發(fā)表于 09-22 11:11

    OpenHarmony Dev-Board-SIG專場(chǎng):DAYU200開源計(jì)劃—代碼Master需要的材料

    OpenHarmony Dev-Board-SIG專場(chǎng):DAYU200開源計(jì)劃—代碼Master需要的材料
    的頭像 發(fā)表于 12-28 14:14 ?1561次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專場(chǎng):<b class='flag-5'>DAYU200</b>開源計(jì)劃—代碼<b class='flag-5'>上</b>Master需要的材料

    DAYU200開發(fā)版升級(jí)openHarmony3.1 release版本

    今天收到了來(lái)自潤(rùn)和的DAYU200的開發(fā)板,我們開機(jī)之后,查看關(guān)于手機(jī),這一欄,發(fā)現(xiàn)openharmony的版本是3.1的beta版,于是我們先做個(gè)升級(jí),然后進(jìn)行更多的體驗(yàn),
    的頭像 發(fā)表于 04-16 09:37 ?2095次閱讀
    <b class='flag-5'>DAYU200</b>開發(fā)版升級(jí)<b class='flag-5'>openHarmony</b>3.1 release版本

    OpenHarmony跳轉(zhuǎn)撥號(hào)界面

    OpenHarmony跳轉(zhuǎn)撥號(hào)界面當(dāng)應(yīng)用需要跳轉(zhuǎn)撥號(hào)界面,并顯示
    的頭像 發(fā)表于 08-15 17:20 ?2444次閱讀

    【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】潤(rùn)和軟件DAYU200開發(fā)板開箱篇

    創(chuàng)新為內(nèi)涵的大禹治水精神,寓意著DAYU秉承OpenHarmony“以開發(fā)者為本”的開源治理宗旨和積極擔(dān)當(dāng)國(guó)產(chǎn)化歷史使命的責(zé)任定位。 ? ?? 潤(rùn)和軟件DAYU200
    的頭像 發(fā)表于 10-12 11:38 ?4794次閱讀
    【潤(rùn)和軟件<b class='flag-5'>DAYU200</b>開發(fā)板體驗(yàn)】潤(rùn)和軟件<b class='flag-5'>DAYU200</b>開發(fā)板開箱篇

    喜大普奔!DAYU200能打電話了—OpenHarmony 3.1新特性!

    OpenHarmony3.1Release已于3月31號(hào)發(fā)布,目前DAYU200是首款支持OpenHarmony3.1Release版本的開發(fā)套件。DAYU200現(xiàn)已面向行業(yè)和開發(fā)者全
    的頭像 發(fā)表于 04-22 11:43 ?1136次閱讀
    喜大普奔!<b class='flag-5'>DAYU200</b>能打電話了—<b class='flag-5'>OpenHarmony</b> 3.1新特性!

    潤(rùn)和軟件DAYU200OpenHarmony賦能之旅

    2021年,潤(rùn)和軟件推出了OpenHarmony高性能設(shè)備平臺(tái)大禹系列,其中DAYU200作為首款支持OpenHarmony富設(shè)備的開發(fā)板,是廣大開發(fā)者探索OpenHarmony開發(fā)的
    的頭像 發(fā)表于 11-18 09:49 ?1538次閱讀
    潤(rùn)和軟件<b class='flag-5'>DAYU200</b>的<b class='flag-5'>OpenHarmony</b>賦能之旅