新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化
場(chǎng)景介紹

馬邊彝族網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,馬邊彝族網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為馬邊彝族上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的馬邊彝族做網(wǎng)站的公司定做!
應(yīng)用可以通過(guò)觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化,來(lái)接收最新蜂窩網(wǎng)絡(luò)服務(wù)狀態(tài)信息、信號(hào)信息等。
接口說(shuō)明
RadioStateObserver 類(lèi)中提供了觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化的方法,為了能夠?qū)崟r(shí)觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化,應(yīng)用必須包含以下權(quán)限。
| 觀察狀態(tài)名稱(chēng) | 權(quán)限名稱(chēng) |
|---|---|
| 網(wǎng)絡(luò)狀態(tài)信息(NETWORK_STATE) | ohos.permission.GET_NETWORK_INFO |
| 信號(hào)信息(SIGNAL_INFO) | NA |
需要使用 RadioInfoManager 的如下接口將繼承 RadioStateObserver 類(lèi)的對(duì)象注冊(cè)到系統(tǒng)服務(wù):
| 接口名 | 觀察事件的掩碼 | 描述 |
|---|---|---|
| addObserver | OBSERVE_MASK_NETWORK_STATE | 觀察蜂窩網(wǎng)絡(luò)駐網(wǎng)狀態(tài)信息。 |
| OBSERVE_MASK_SIGNAL_INFO | 觀察蜂窩網(wǎng)絡(luò)信號(hào)信息。 | |
| removeObserver | N/A | 停止觀察所有狀態(tài)的變化。 |
開(kāi)發(fā)步驟
添加觀察事件
- 調(diào)用 RadioInfoManager 的 getInstance 接口,獲取到 RadioInfoManager 實(shí)例。
- 創(chuàng)建繼承 RadioStateObserver 的類(lèi) MyRadioStateObserver,并覆寫(xiě)狀態(tài)變化回調(diào)方法。
- 創(chuàng)建 MyRadioStateObserver 的對(duì)象 observer。
- 調(diào)用 RadioInfoManager 的 addObserver 方法,傳入已創(chuàng)建的 MyRadioStateObserver 對(duì)象 observer 和需要觀察的 mask。
// 獲取RadioInfoManager對(duì)象。
RadioInfoManager radioInfoManager = RadioInfoManager.getInstance(context);
// 創(chuàng)建繼承RadioStateObserver的類(lèi)MyRadioStateObserver
class MyRadioStateObserver extends RadioStateObserver {
// 構(gòu)造方法,在當(dāng)前線程的runner中執(zhí)行回調(diào),slotId需要傳入要觀察的卡槽ID(0或1)。
MyRadioStateObserver(int slotId) {
super(slotId);
}
// 構(gòu)造方法,在執(zhí)行runner中執(zhí)行回調(diào)。
MyRadioStateObserver(int slotId, EventRunner runner) {
super(slotId, runner);
}
// 網(wǎng)絡(luò)注冊(cè)狀態(tài)變化的回調(diào)方法。
@Override
public void onNetworkStateUpdated(NetworkState state) {
...
}
// 信號(hào)信息變化的回調(diào)方法。
@Override
public void onSignalInfoUpdated(List signalInfos) {
...
}
}
// 執(zhí)行回調(diào)的runner。
EventRunner runner = EventRunner.create();
// 創(chuàng)建MyRadioStateObserver的對(duì)象。
MyRadioStateObserver observer = new MyRadioStateObserver(slotId, runner);
// 添加回調(diào),以NETWORK_STATE和SIGNAL_INFO為例。
radioInfoManager.addObserver(observer, RadioStateObserver.OBSERVE_MASK_NETWORK_STATE | RadioStateObserver.OBSERVE_MASK_SIGNAL_INFO); 停止觀察
- 調(diào)用 RadioInfoManager 的 getInstance 接口,獲取到 RadioInfoManager 實(shí)例。
- 調(diào)用 RadioInfoManager 的 removeObserver 方法,傳入添加觀察事件時(shí)創(chuàng)建的 MyRadioStateObserver 對(duì)象 observer。
// 獲取RadioInfoManager對(duì)象。
RadioInfoManager radioInfoManager = RadioInfoManager.getInstance(context);
// 停止觀察
radioInfoManager.removeObserver(observer); 本文題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS觀察蜂窩網(wǎng)絡(luò)狀態(tài)變化
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/cdedihe.html


咨詢(xún)
建站咨詢(xún)
