日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS發(fā)起一路呼叫

場(chǎng)景介紹

當(dāng)應(yīng)用需要發(fā)起一路呼叫給一個(gè)指定的號(hào)碼時(shí),使用本業(yè)務(wù)。呼叫可以是音頻呼叫,也可以是視頻呼叫。

如果設(shè)備支持同時(shí)插入兩張 SIM 卡,且撥打電話(huà)時(shí)兩張SIM 卡均在位,呼叫時(shí)會(huì)彈出彈框讓用戶(hù)選擇從卡 1 還是卡 2 呼出。

接口說(shuō)明

DistributedCallManager 為開(kāi)發(fā)者提供呼叫管理功能,具體功能分類(lèi)如下表。

功能分類(lèi) 接口名 描述 所需權(quán)限
能力獲取 hasVoiceCapability() 檢查當(dāng)前設(shè)備是否支持語(yǔ)音呼叫。 無(wú)
獲取管理對(duì)象 getInstance(Context context) 獲取呼叫管理對(duì)象。 無(wú)
發(fā)起呼叫 dial(String number, boolean isVideoCall) 發(fā)起音頻或視頻呼叫。 ohos.permission.PLACE_CALL
觀察通話(huà)業(yè)務(wù)狀態(tài)變化 addObserver(CallStateObserver observer, int mask) 觀察通話(huà)業(yè)務(wù)狀態(tài)變化。 ohos.permission.READ_CALL_LOG(獲取通話(huà)號(hào)碼需要該權(quán)限)

開(kāi)發(fā)步驟

  1. 調(diào)用 DistributedCallManager 的 getInstance 接口,創(chuàng)建/獲取呼叫管理對(duì)象。
  1. 調(diào)用 hasVoiceCapability() 接口獲取當(dāng)前設(shè)備呼叫能力,如果支持繼續(xù)下一步;如果不支持則無(wú)法發(fā)起呼叫。
  1. 發(fā)起一路呼叫。
  1. 注冊(cè)觀察呼叫狀態(tài)變化。
   // 創(chuàng)建呼叫管理對(duì)象
   DistributedCallManager dcManager = DistributedCallManager.getInstance(context);

    
   // 調(diào)用查詢(xún)能力接口
   if (!dcManager.hasVoiceCapability()) {
       return;
   }

    
   // 如果設(shè)備支持呼叫能力,則繼續(xù)發(fā)起呼叫
   dcManager.dial(destinationNum, isVideoCall);

    
   // 創(chuàng)建繼承CallStateObserver的類(lèi)MyCallStateObserver
   class MyCallStateObserver extends CallStateObserver {
       // 構(gòu)造方法,在當(dāng)前線(xiàn)程的runner中執(zhí)行回調(diào),slotId需要傳入要觀察的卡槽ID(0或1)
       MyCallStateObserver(int slotId) {
           super(slotId);
       }

    
       // 構(gòu)造方法,在執(zhí)行runner中執(zhí)行回調(diào),slotId需要傳入要觀察的卡槽ID(0或1)   
       MyCallStateObserver(int slotId, EventRunner runner) {
           super(slotId, runner);
       }

    
       // 通話(huà)狀態(tài)變化的回調(diào)方法
       @Override
       public void onCallStateUpdated(int state, String number) {
           ...
       }
   }

    
   // 執(zhí)行回調(diào)的runner
   EventRunner runner = EventRunner.create();

    
   // 創(chuàng)建MyCallStateObserver的對(duì)象
   MyCallStateObserver observer = new MyCallStateObserver(slotId, runner);

    
   // 觀察OBSERVE_CALL_STATE的變化
   dcManager.addObserver(observer, CallStateObserver.OBSERVE_CALL_STATE);

網(wǎng)站欄目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS發(fā)起一路呼叫
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/dhdsjoc.html