一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

harmony-utils之NetworkUtil,網(wǎng)絡(luò)相關(guān)工具類

童長(zhǎng)老 ? 來(lái)源:jf_14594073 ? 作者:jf_14594073 ? 2025-06-25 23:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之NetworkUtil,網(wǎng)絡(luò)相關(guān)工具類

harmony-utils 簡(jiǎn)介與說(shuō)明


harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類,致力于助力開(kāi)發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項(xiàng)、拍照、相冊(cè)、掃碼、文件、日志、異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和作,能夠滿足各種不同的開(kāi)發(fā)需求。
picker_utils 是harmony-utils拆分出來(lái)的一個(gè)子庫(kù),包含 PickerUtil、PhotoHelper、ScanUtil。

下載安裝
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
   AppUtil.init(this.context);
 }

API方法與使用


isDefaultNetMetered 檢查當(dāng)前網(wǎng)絡(luò)上的數(shù)據(jù)流量使用是否被計(jì)量
let hasDefaultNet = NetworkUtil.isDefaultNetMeteredSync();
 ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)上的數(shù)據(jù)流量使用是否被計(jì)量:${hasDefaultNet}`);
hasDefaultNet 檢查默認(rèn)數(shù)據(jù)網(wǎng)絡(luò)是否被激活
let hasDefaultNet = NetworkUtil.hasDefaultNetSync();
ToastUtil.showToast(`默認(rèn)數(shù)據(jù)網(wǎng)絡(luò)是否被激活:${hasDefaultNet}`);
getDefaultNet 獲取默認(rèn)激活的數(shù)據(jù)網(wǎng)絡(luò)
let defaultNet = await NetworkUtil.getDefaultNet();
  let jsonStr = JSON.stringify(defaultNet, null, 2);
getAppNet 獲取App綁定的網(wǎng)絡(luò)信息
let appNet = await NetworkUtil.getAppNet();
 let jsonStr = JSON.stringify(appNet, null, 2);
getAllNets 獲取所有處于連接狀態(tài)的網(wǎng)絡(luò)列表
let allNet = await NetworkUtil.getAllNets();
  let jsonStr = JSON.stringify(allNet, null, 2);
isNetworkAvailable 判斷當(dāng)前設(shè)備網(wǎng)絡(luò)是否可用
let isNetwork = NetworkUtil.isNetworkAvailable();
ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)是否可用:${isNetwork}`);
hasNetMobile 判斷當(dāng)前網(wǎng)絡(luò)是否是蜂窩網(wǎng)絡(luò)(移動(dòng)網(wǎng)絡(luò))
let hasNetMobile = NetworkUtil.hasNetMobile();
ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)是否是蜂窩網(wǎng)絡(luò):${hasNetMobile}`);
hasNetWiFi 判斷當(dāng)前網(wǎng)絡(luò)是否是Wi-Fi網(wǎng)絡(luò)
let hasNetWiFi = NetworkUtil.hasNetWiFi();
 ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)是否是Wi-Fi網(wǎng)絡(luò):${hasNetWiFi}`);
hasNetEthernet 判斷當(dāng)前網(wǎng)絡(luò)是否是以太網(wǎng)網(wǎng)絡(luò)
let hasNetEthernet = NetworkUtil.hasNetEthernet();
 ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)是否是以太網(wǎng)網(wǎng)絡(luò):${hasNetEthernet}`);
hasNetVPN 判斷當(dāng)前網(wǎng)絡(luò)是否是VPN網(wǎng)絡(luò)
let hasNetVPN = NetworkUtil.hasNetVPN();
 ToastUtil.showToast(`當(dāng)前網(wǎng)絡(luò)是否是VPN網(wǎng)絡(luò):${hasNetVPN}`);
hasNetBearType 是否存在指定的網(wǎng)絡(luò)
let hasNet = NetworkUtil.hasNetBearType(connection.NetBearType.BEARER_WIFI);
 ToastUtil.showToast(`是否存在指定的網(wǎng)絡(luò):${hasNet}`);
getNetBearTypes 獲取網(wǎng)絡(luò)類型,數(shù)組里面只包含了一種具體的網(wǎng)絡(luò)類型
let netBearTypes = NetworkUtil.getNetBearTypes();
let jsonStr = JSON.stringify(netBearTypes, null, 2);
getNetBearType 獲取網(wǎng)絡(luò)類型
let type = await NetworkUtil.getNetBearType();
 ToastUtil.showToast(`網(wǎng)絡(luò)類型:${type}`);
getNetCapabilities 獲取netHandle對(duì)應(yīng)的網(wǎng)絡(luò)的能力信息
let netCapabilities = NetworkUtil.getNetCapabilitiesSync();
  let jsonStr = JSON.stringify(netCapabilities, null, 2);
getConnectionProperties 獲取netHandle對(duì)應(yīng)的網(wǎng)絡(luò)的連接信息
let connectionProperties = NetworkUtil.getConnectionPropertiesSync();
let jsonStr = JSON.stringify(connectionProperties, null, 2);
getIpAddress 獲取當(dāng)前設(shè)備的IP地址(設(shè)備連接Wi-Fi后)
let ip = NetworkUtil.getIpAddress();
 ToastUtil.showToast(ip);
register 訂閱指定網(wǎng)絡(luò)狀態(tài)變化的通知,支持多事件監(jiān)聽(tīng)回調(diào)
NetworkUtil.register((netHandle) = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)可用事件回調(diào):${JSON.stringify(netHandle)}`);
}, () = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)不可用事件回調(diào)。`);
}, (netCapabilityInfo) = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)能力變化事件回調(diào):${JSON.stringify(netCapabilityInfo)}`);
}, (nNetConnectionPropertyInfo) = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)連接信息變化事件回調(diào):${JSON.stringify(nNetConnectionPropertyInfo)}`);
}, (netBlockStatusInfo) = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)阻塞狀態(tài)事件回調(diào):${JSON.stringify(netBlockStatusInfo)}`);
}, (netHandle) = > {
  LogUtil.error(`訂閱網(wǎng)絡(luò)丟失事件回調(diào):${JSON.stringify(netHandle)}`);
});
unregister 取消訂閱默認(rèn)網(wǎng)絡(luò)狀態(tài)變化的通知
NetworkUtil.unregister();
ToastUtil.showToast("取消訂閱默認(rèn)網(wǎng)絡(luò)狀態(tài)變化監(jiān)聽(tīng)");
isNRSupported 判斷當(dāng)前設(shè)備是否支持NR(New Radio)。也就是5G。
let isNRSupported = NetworkUtil.isNRSupported();
ToastUtil.showToast(`當(dāng)前設(shè)備是否支持NR:${isNRSupported}`);
isRadioOn 判斷Radio是否打開(kāi)
let isRadioOn = await NetworkUtil.isRadioOn();
ToastUtil.showToast(`Radio是否打開(kāi):${isRadioOn}`);
getPrimarySlotId 獲取主卡所在卡槽的索引號(hào)
let slotId = await NetworkUtil.getPrimarySlotId();
 ToastUtil.showToast(`主卡所在卡槽的索引號(hào):${slotId}`);
getOperatorName 獲取運(yùn)營(yíng)商名稱
let operatorName = await NetworkUtil.getOperatorName();
ToastUtil.showToast(`運(yùn)營(yíng)商名稱:${operatorName}`);
getNetworkState 獲取網(wǎng)絡(luò)狀態(tài)
let networkState = await NetworkUtil.getNetworkState();
let jsonStr = JSON.stringify(networkState, null, 2);
getNetworkSelectionMode 獲取當(dāng)前選網(wǎng)模式
let mode = await NetworkUtil.getNetworkSelectionMode();
let jsonStr = JSON.stringify(mode, null, 2);
getSignalInformation 獲取指定SIM卡槽對(duì)應(yīng)的注冊(cè)網(wǎng)絡(luò)信號(hào)強(qiáng)度信息列表
let signalInformation = await NetworkUtil.getSignalInformation();
 let jsonStr = JSON.stringify(signalInformation, null, 2);
getNetworkType 獲取網(wǎng)絡(luò)類型
let networkType = await NetworkUtil.getNetworkType();
ToastUtil.showToast(`網(wǎng)絡(luò)類型:${networkType}`);
getNetworkTypeStr 獲取網(wǎng)絡(luò)類型,返回字符類型
let networkType = await NetworkUtil.getNetworkTypeStr();
 ToastUtil.showToast(`網(wǎng)絡(luò)類型:${networkType}`);
getDefaultCellularDataSlotId 獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡
let slotId = await NetworkUtil.getDefaultCellularDataSlotId();
ToastUtil.showToast(`默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡:${slotId}`);
getCellularDataFlowType 獲取蜂窩數(shù)據(jù)業(yè)務(wù)的上下行狀態(tài)
let dataFlowType = await NetworkUtil.getCellularDataFlowType();
 ToastUtil.showToast(`蜂窩數(shù)據(jù)業(yè)務(wù)的上下行狀態(tài):${dataFlowType}`);
getCellularDataState 獲取分組交換域(PS域)的連接狀態(tài)
let state = await NetworkUtil.getCellularDataState();
 ToastUtil.showToast(`分組交換域(PS域)的連接狀態(tài):${state}`);
isCellularDataEnabled 檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用
let enabled = await NetworkUtil.isCellularDataEnabled();
ToastUtil.showToast(`蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用:${enabled}`);
isCellularDataRoamingEnabled 檢查蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用漫游
let enabled = await NetworkUtil.isCellularDataRoamingEnabled();
ToastUtil.showToast(`蜂窩數(shù)據(jù)業(yè)務(wù)是否啟用漫游:${enabled}`);
getDefaultCellularDataSimId 獲取默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡ID。與SIM卡綁定,從1開(kāi)始遞增
let simId = NetworkUtil.getDefaultCellularDataSimId();
 ToastUtil.showToast(`默認(rèn)移動(dòng)數(shù)據(jù)的SIM卡ID:${simId}`);
isSimActive 獲取指定卡槽SIM卡是否激活
let isSimActive = await NetworkUtil.isSimActive(1);
ToastUtil.showToast(`卡槽2SIM卡是否激活:${isSimActive}`);
hasSimCard 獲取指定卡槽SIM卡是否插卡
let hasSimCard = await NetworkUtil.hasSimCard(1);
  ToastUtil.showToast(`卡槽2SIM卡是否插卡:${hasSimCard}`);
getMaxSimCount 獲取卡槽數(shù)量
let count = NetworkUtil.getMaxSimCount();
ToastUtil.showToast(`卡槽數(shù)量:${count}`);
getSimOperatorNumeric 獲取指定卡槽SIM卡的歸屬PLMN(Public Land Mobile Network)號(hào)
let simOperatorNumeric = await NetworkUtil.getSimOperatorNumeric();
ToastUtil.showToast(`指定卡槽SIM卡的歸屬PLMN:${simOperatorNumeric}`);
getSimSpn 獲取指定卡槽SIM卡的服務(wù)提供商名稱
let simSpn = await NetworkUtil.getSimSpn();
 ToastUtil.showToast(`指定卡槽SIM卡的服務(wù)提供商名稱:${simSpn}`);
getSimState 獲取指定卡槽的SIM卡狀態(tài)
let simState = await NetworkUtil.getSimState();
 ToastUtil.showToast(`指定卡槽的SIM卡狀態(tài):${simState}`);
getCardType 獲取指定卡槽SIM卡的卡類型
let cardType = await NetworkUtil.getCardType();
ToastUtil.showToast(`指定卡槽SIM卡的卡類型:${cardType}`);

創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊

審核編輯 黃宇

聲明:本文內(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)投訴
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    3010
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    harmony-utilsCacheUtil,緩存工具

    harmony-utilsCacheUtil,緩存工具
    的頭像 發(fā)表于 07-04 16:36 ?113次閱讀

    harmony-utilsCharUtil,字符工具

    harmony-utilsCharUtil,字符工具
    的頭像 發(fā)表于 07-04 16:34 ?117次閱讀

    harmony-utilsCrashUtil,異常相關(guān)工具

    harmony-utilsCrashUtil,異常相關(guān)工具
    的頭像 發(fā)表于 07-04 16:33 ?116次閱讀

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具
    的頭像 發(fā)表于 07-03 18:27 ?149次閱讀

    harmony-utilsDisplayUtil,屏幕相關(guān)工具

    harmony-utilsDisplayUtil,屏幕相關(guān)工具
    的頭像 發(fā)表于 07-03 18:26 ?124次閱讀

    harmony-utilsEmitterUtil,Emitter工具

    harmony-utilsEmitterUtil,Emitter工具
    的頭像 發(fā)表于 07-03 18:24 ?129次閱讀

    harmony-utilsFileUtil,文件相關(guān)工具

    harmony-utilsFileUtil,文件相關(guān)工具
    的頭像 發(fā)表于 07-03 18:23 ?127次閱讀

    harmony-utilsFormatUtil,格式化工具

    harmony-utilsFormatUtil,格式化工具
    的頭像 發(fā)表于 07-03 18:22 ?129次閱讀

    harmony-utilsImageUtil,圖片相關(guān)工具

    harmony-utilsImageUtil,圖片相關(guān)工具
    的頭像 發(fā)表于 07-03 18:22 ?161次閱讀

    harmony-utilsLocationUtil,定位相關(guān)工具

    harmony-utilsLocationUtil,定位相關(guān)工具 harmony-utils
    的頭像 發(fā)表于 07-03 18:13 ?129次閱讀

    harmony-utilsPreviewUtil,文件預(yù)覽工具

    harmony-utilsPreviewUtil,文件預(yù)覽工具 harmony-utils 簡(jiǎn)介與說(shuō)明 [
    的頭像 發(fā)表于 07-03 11:40 ?109次閱讀

    harmony-utilsSnapshotUtil,截圖相關(guān)工具

    harmony-utilsSnapshotUtil,截圖相關(guān)工具 harmony-utils
    的頭像 發(fā)表于 07-03 11:36 ?105次閱讀

    harmony-utilsWindowUtil,窗口相關(guān)工具

    harmony-utilsWindowUtil,窗口相關(guān)工具 harmony-utils 簡(jiǎn)
    的頭像 發(fā)表于 06-30 17:33 ?105次閱讀

    harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具

    # harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具 ## harmony-utils
    的頭像 發(fā)表于 06-26 17:43 ?103次閱讀

    harmony-utilsDateUtil,日期工具

    harmony-utilsDateUtil,日期工具
    的頭像 發(fā)表于 06-25 22:15 ?55次閱讀