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

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

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

鴻蒙開發(fā)電話服務(wù):【@ohos.telephony.observer (observer)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-15 09:18 ? 次閱讀

observer

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復(fù)制轉(zhuǎn)到。
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。

導(dǎo)入模塊

import observer from '@ohos.telephony.observer'

observer.on('networkStateChange')

on(type: 'networkStateChange', callback: Callback): void;

訂閱網(wǎng)絡(luò)狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù)

參數(shù)名類型必填說明
typestring網(wǎng)絡(luò)狀態(tài)變化事件
callbackCallback<[NetworkState]>回調(diào)函數(shù)。參考radio的[NetworkState]

示例:

observer.on('networkStateChange', data = >{ 
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.on('networkStateChange')

on(type: 'networkStateChange', options: { slotId: number }, callback: Callback): void;

訂閱指定卡槽位的網(wǎng)絡(luò)狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.GET_NETWORK_INFO

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring網(wǎng)絡(luò)狀態(tài)變化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[NetworkState]>回調(diào)函數(shù)。參考radio的[NetworkState]

示例:

observer.on('networkStateChange', {slotId: 0}, data = >{ 
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.off('networkStateChange')

off(type: 'networkStateChange', callback?: Callback): void;

取消訂閱網(wǎng)絡(luò)狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.GET_NETWORK_INFO

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring網(wǎng)絡(luò)狀態(tài)變化事件
callbackCallback<[NetworkState]>回調(diào)函數(shù)。參考radio的[NetworkState]

示例:

let callback = data = > {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
}
observer.on('networkStateChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('networkStateChange', callback);
observer.off('networkStateChange');

observer.on('signalInfoChange')

on(type: 'signalInfoChange', callback: Callback>): void;

訂閱信號狀態(tài)變化事件,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring信號狀態(tài)變化事件
callbackCallback>回調(diào)函數(shù)。參考radio的[SignalInformation]

示例:

observer.on('signalInfoChange', data = >{ 
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
});

observer.on('signalInfoChange')

on(type: 'signalInfoChange', options: { slotId: number }, callback: Callback>): void;

訂閱指定卡槽位的信號狀態(tài)變化事件,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring信號狀態(tài)變化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback>回調(diào)函數(shù)。參考radio的[SignalInformation]

示例:

observer.on('signalInfoChange', {slotId: 0}, data = >{ 
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
});

observer.off('signalInfoChange')

off(type: 'signalInfoChange', callback?: Callback>): void;

取消訂閱信號狀態(tài)變化事件,使用callback方式作為異步方法。

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring信號狀態(tài)變化事件
callbackCallback>回調(diào)函數(shù)。參考radio的[SignalInformation]

示例:

let callback = data = > {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
}
observer.on('signalInfoChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('signalInfoChange', callback);
observer.off('signalInfoChange');

observer.on('callStateChange')

on(type: 'callStateChange', callback: Callback<{ state: CallState, number: string }>): void;

訂閱通話狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.READ_CALL_LOG

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring通話狀態(tài)變化事件
callbackCallback<{ state: [CallState], number: string }>回調(diào)函數(shù),參考call的[CallState] number:電話號碼

示例:

observer.on('callStateChange', value = >{ 
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
});

observer.on('callStateChange')

on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ state:CallState, number: string }>): void;

訂閱通話狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.READ_CALL_LOG

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring通話狀態(tài)變化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<{ state: [CallState], number: string }>回調(diào)函數(shù),參考call的[CallState] number:電話號碼

示例:

observer.on('callStateChange', {slotId: 0}, value = >{ 
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
});

observer.off('callStateChange')

off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void;

取消訂閱通話狀態(tài)變化事件,使用callback方式作為異步方法。

需要權(quán)限 :ohos.permission.READ_CALL_LOG

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring通話狀態(tài)變化事件
callbackCallback<{ state: [CallState], number: string }>回調(diào)函數(shù),參考call的[CallState] number:電話號碼

示例:

let callback = value = > {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
}
observer.on('callStateChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('callStateChange', callback);
observer.off('callStateChange');

observer.on('cellularDataConnectionStateChange')7+

on(type: 'cellularDataConnectionStateChange', callback: Callback<{ state: DataConnectState, network: RatType}>): void;

訂閱蜂窩數(shù)據(jù)鏈路連接狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)鏈路連接狀態(tài)事件
callbackCallback<{ state: [DataConnectState], network: [RatType]}>回調(diào)函數(shù),參考data的[DataConnectState],radio的[RadioTechnology]。

示例:

observer.on('cellularDataConnectionStateChange', value = >{
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
});

observer.on('cellularDataConnectionStateChange')7+

on(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback<{ state: DataConnectState, network: RatType }>): void;

訂閱指定卡槽位的蜂窩數(shù)據(jù)鏈路連接狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)鏈路連接狀態(tài)事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<{ state: [DataConnectState], network: [RatType] }>回調(diào)函數(shù),參考data的[DataConnectState],radio的[RadioTechnology]

示例:

observer.on('cellularDataConnectionStateChange', {slotId: 0}, value = >{
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
});

observer.off('cellularDataConnectionStateChange')7+

off(type: 'cellularDataConnectionStateChange', callback?: Callback<{ state: DataConnectState, network: RatType}>): void;

移除訂閱蜂窩數(shù)據(jù)鏈路連接狀態(tài),使用callback方式作為異步方法。

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)鏈路連接狀態(tài)事件
callbackCallback<{ state: [DataConnectState], network: [RatType] }>回調(diào)函數(shù),參考data的[DataConnectState],radio的[RadioTechnology]。

示例:

let callback = value = > {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
}
observer.on('cellularDataConnectionStateChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('cellularDataConnectionStateChange', callback);
observer.off('cellularDataConnectionStateChange');

observer.on('cellularDataFlowChange')7+

on(type: 'cellularDataFlowChange', callback: Callback): void;

訂閱蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài)狀態(tài)事件
callbackCallback<[DataFlowType]>回調(diào)函數(shù),參考data的[DataFlowType]。

示例:

observer.on('cellularDataFlowChange', data = >{
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.on('cellularDataFlowChange')7+

on(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Callback): void;

訂閱指定卡槽位的蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài),使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài)事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[DataFlowType]>回調(diào)函數(shù),參考data的[DataFlowType]。

示例:

observer.on('cellularDataFlowChange', {slotId: 0}, data = >{
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
});

observer.off('cellularDataFlowChange')7+

off(type: 'cellularDataFlowChange', callback?: Callback): void;

移除訂閱蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài),使用callback方式作為異步方法。

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestring蜂窩數(shù)據(jù)業(yè)務(wù)的上下行數(shù)據(jù)流狀態(tài)事件
callbackCallback<[DataFlowType]>回調(diào)函數(shù),參考data的[DataFlowType]。

示例:

let callback = data = > {
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
}
observer.on('cellularDataFlowChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('cellularDataFlowChange', callback);
observer.off('cellularDataFlowChange');

observer.on('simStateChange')7+

on(type: 'simStateChange', callback: Callback): void;

訂閱sim狀態(tài)更改事件,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestringsim狀態(tài)更改事件
callbackCallback<[SimStateData]>回調(diào)函數(shù)。

示例:

observer.on('simStateChange', data = >{
    console.log("on simStateChange, data:" + JSON.stringify(data));
});

observer.on('simStateChange')7+

on(type: 'simStateChange', options: { slotId: number }, callback: Callback): void;

訂閱指定卡槽位的sim狀態(tài)更改事件,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestringsim狀態(tài)更改事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[SimStateData]>回調(diào)函數(shù)。

示例:

observer.on('simStateChange', {slotId: 0}, data = >{
    console.log("on simStateChange, data:" + JSON.stringify(data));
});

observer.off('simStateChange')7+

off(type: 'simStateChange', callback?: Callback): void;

移除訂閱sim狀態(tài)更改事件,使用callback方式作為異步方法。

說明:

可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。

系統(tǒng)能力 :SystemCapability.Telephony.StateRegistry

參數(shù):

參數(shù)名類型必填說明
typestringsim狀態(tài)更改事件
callbackCallback<[SimStateData]>回調(diào)函數(shù)。

示例:

let callback = data = > {
    console.log("on simStateChange, data:" + JSON.stringify(data));
}
observer.on('simStateChange', callback);
// 可以指定傳入on中的callback取消一個訂閱,也可以不指定callback清空所有訂閱。
observer.off('simStateChange', callback);
observer.off('simStateChange');

LockReason8+

SIM卡鎖類型。

系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Telephony.StateRegistry。

名稱說明
SIM_NONE0無鎖。
SIM_PIN1PIN鎖。
SIM_PUK2PUK鎖。
SIM_PN_PIN3網(wǎng)絡(luò)PIN鎖。
SIM_PN_PUK4網(wǎng)絡(luò)PUK鎖。
SIM_PU_PIN5子網(wǎng)PIN鎖。
SIM_PU_PUK6子網(wǎng)PUK鎖。
SIM_PP_PIN7服務(wù)提供商PIN鎖。
SIM_PP_PUK8服務(wù)提供商PUK鎖。
SIM_PC_PIN9組織PIN鎖。
SIM_PC_PUK10組織PUK鎖。
SIM_SIM_PIN11SIM PIN鎖。
SIM_SIM_PUK12SIM PUK鎖。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151344.png

SimStateData7+

SIM卡類型和狀態(tài)。

系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Telephony.StateRegistry。

名稱類型說明
type[CardType]SIM卡類型,參考sim的[CardType]
state[SimState]SIM卡狀態(tài),參考sim的[SimState]
reason8+[LockReason]SIM卡鎖類型。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    61521
  • 電話
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

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

    關(guān)注

    56

    文章

    2271

    瀏覽量

    42508
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙實戰(zhàn)項目開發(fā):【短信服務(wù)

    概述 本示例展示了電話服務(wù)中發(fā)送短信的功能。 樣例展示 涉及OpenHarmony技術(shù)特性 網(wǎng)絡(luò)通信 難度級別 中級 基礎(chǔ)信息 使用@ohos.telephony.sms接口展示了電話
    發(fā)表于 03-03 21:29

    基于鴻蒙Next模擬電話通訊錄及電話撥打

    \'@ohos.telephony.observer\'; import { listData,dataType} from \"../common/phoneNumData\"
    發(fā)表于 08-27 15:24

    BLE Observer接收廣播數(shù)據(jù)包函數(shù)在哪里體現(xiàn)的

    BLE Observer接收廣播數(shù)據(jù)包函數(shù)在哪里體現(xiàn)的,有沒有連接給個例程?
    發(fā)表于 03-09 14:39

    怎么實現(xiàn)手機作為Broadcaster,CC2541作為Observer

    請問:手機(ios或android )作為Broadcaster廣播數(shù)據(jù),CC2541作為Observer接受廣播,我需要做些什么工作去實現(xiàn)??释笊裰更c迷津~
    發(fā)表于 03-17 09:43

    HarmonyOS API Version 7版本特性說明

    與設(shè)置。@ohos.telephony.data新增蜂窩數(shù)據(jù)相關(guān)接口。支持蜂窩網(wǎng)絡(luò)連接狀態(tài)、上下行狀態(tài),數(shù)據(jù)業(yè)務(wù)開關(guān)獲取與設(shè)置。@ohos.telephony.observer新增電話服務(wù)
    發(fā)表于 11-30 15:19

    HarmonyOS API Version 7版本特性說明

    與設(shè)置。@ohos.telephony.data新增蜂窩數(shù)據(jù)相關(guān)接口。支持蜂窩網(wǎng)絡(luò)連接狀態(tài)、上下行狀態(tài),數(shù)據(jù)業(yè)務(wù)開關(guān)獲取與設(shè)置。@ohos.telephony.observer新增電話服務(wù)
    發(fā)表于 12-01 10:35

    請問observer的底層原理是怎樣的?

    RT,使用observer監(jiān)聽廣播包,使用XX廣播包去重FALSE,超時時間0來監(jiān)聽。但是產(chǎn)生一個疑問。原先一直使用的是RF_PHY的方式在39通道接收數(shù)據(jù),如果用OBSERVER,是不是輪詢
    發(fā)表于 08-01 06:32

    請問CH573的Observer示例代碼能否顯示廣播消息?

    CH573的Observer示例代碼中只顯示廣播設(shè)備MAC地址,怎么才能顯示廣播的消息內(nèi)容?
    發(fā)表于 08-19 07:51

    請問observer如何獲取廣播包內(nèi)容?

    目前使用observer只能得到掃碼到的廣播包的MAC地址,我想得到每個廣播包的具體內(nèi)容和以及每個包接收時的RSSI,我該如何處理??? 個人信息保護,已隱藏,希望得到邦族,非常感謝?。?/div>
    發(fā)表于 08-31 07:45

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

    的模塊import call from '@ohos.telephony.call';import observer from '@ohos.telephony.observer';2.調(diào)用
    發(fā)表于 09-21 16:04

    HarmonyOS應(yīng)用API-撥打電話

    '@ohos.telephony.observer';[]()[]()2.調(diào)用hasVoiceCapability()接口獲取當(dāng)前設(shè)備呼叫能力,如果支持繼續(xù)下一步;如果不支持則無法發(fā)起呼叫。let isSupport
    發(fā)表于 10-14 09:45

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

    '@ohos.telephony.observer';2.調(diào)用hasVoiceCapability()接口獲取當(dāng)前設(shè)備呼叫能力,如果支持繼續(xù)下一步;如果不支持則無法發(fā)起呼叫。// 調(diào)用查詢能力接口let isSupport
    發(fā)表于 10-19 11:39

    Suunto observer手表使用手冊(用戶說明書)

    Suunto  observer手表使用手冊(用戶說明書) 2.2 Suunto腕上電腦以及干擾電磁干擾在高壓電線、交通指示燈、輕軌、電車、電視、汽車發(fā)動機、電腦、一些馬
    發(fā)表于 01-19 16:30 ?96次下載

    鴻蒙開發(fā)電話服務(wù):【@ohos.telephony.call (撥打電話)】

    call模塊提供呼叫管理功能,包括撥打電話、跳轉(zhuǎn)到撥號界面、獲取通話狀態(tài)、格式化電話號碼等。
    的頭像 發(fā)表于 06-15 09:13 ?532次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)電話</b><b class='flag-5'>服務(wù)</b>:【@<b class='flag-5'>ohos.telephony</b>.call (撥打<b class='flag-5'>電話</b>)】

    鴻蒙開發(fā)電話服務(wù)ohos.telephony.sms之短信服務(wù)

    根據(jù)協(xié)議數(shù)據(jù)單元(PDU)和指定的短信協(xié)議創(chuàng)建短信實例,使用callback方式作為異步方法。
    的頭像 發(fā)表于 06-17 15:57 ?352次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)電話</b><b class='flag-5'>服務(wù)</b>:<b class='flag-5'>ohos.telephony</b>.sms之短信<b class='flag-5'>服務(wù)</b>