From 3eb66c4bc3d0ced110198c63205a49f50a82e2b0 Mon Sep 17 00:00:00 2001 From: weixianlove Date: Mon, 22 Jul 2024 14:43:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=94=AF=E6=8C=81=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=BD=91=E5=85=B3IP=E5=9C=B0=E5=9D=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 ++++++++++--------- .../main/ets/pages/utils/NetworkUtilPage.ets | 6 ++++++ .../src/main/ets/utils/NetworkUtil.ets | 8 ++++++++ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2b761c6..c3601d0 100644 --- a/README.md +++ b/README.md @@ -311,15 +311,16 @@ onWindowStageCreate(windowStage: window.WindowStage): void { ### NetworkUtil(网络相关工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/NetworkUtilPage.ets) -| 方法 | 介绍 | -|:------------------|:---------------------------| -| hasDefaultNet | 检查默认数据网络是否被激活 | -| hasDefaultNetSync | 检查默认数据网络是否被激活 | -| hasNetWiFi | 判断当前网络是否是Wi-Fi,否则是移动流量热点网络 | -| getNetBearType | 获取网络类型 | -| getIpAddress | 获取当前设备的IP地址(设备连接Wi-Fi后) | -| register | 订阅指定网络状态变化的通知,支持多事件监听回调 | -| unregister | 取消订阅默认网络状态变化的通知 | +| 方法 | 介绍 | +|:--------------------|:---------------------------| +| hasDefaultNet | 检查默认数据网络是否被激活 | +| hasDefaultNetSync | 检查默认数据网络是否被激活 | +| hasNetWiFi | 判断当前网络是否是Wi-Fi,否则是移动流量热点网络 | +| getNetBearType | 获取网络类型 | +| getIpAddress | 获取当前设备的IP地址(设备连接Wi-Fi后) | +| getGatewayIpAddress | 获取当前设备的网关的IP地址(设备连接Wi-Fi后) | +| register | 订阅指定网络状态变化的通知,支持多事件监听回调 | +| unregister | 取消订阅默认网络状态变化的通知 | ### LocationUtil(定位工具类(WGS-84坐标系))[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/LocationUtilPage.ets) diff --git a/entry/src/main/ets/pages/utils/NetworkUtilPage.ets b/entry/src/main/ets/pages/utils/NetworkUtilPage.ets index 2b21c43..0ca699e 100644 --- a/entry/src/main/ets/pages/utils/NetworkUtilPage.ets +++ b/entry/src/main/ets/pages/utils/NetworkUtilPage.ets @@ -61,6 +61,12 @@ struct Index { let ip = NetworkUtil.getIpAddress(); ToastUtil.showToast(ip) }) + Button("getGatewayIpAddress()") + .btnStyle() + .onClick(() => { + let ip = NetworkUtil.getGatewayIpAddress(); + ToastUtil.showToast(ip) + }) Button("register()") .btnStyle() .onClick(() => { diff --git a/harmony_utils/src/main/ets/utils/NetworkUtil.ets b/harmony_utils/src/main/ets/utils/NetworkUtil.ets index 2479486..a639c38 100644 --- a/harmony_utils/src/main/ets/utils/NetworkUtil.ets +++ b/harmony_utils/src/main/ets/utils/NetworkUtil.ets @@ -64,6 +64,14 @@ export class NetworkUtil { return ip; } + /** + * 获取当前设备的网关IP地址(设备连接Wi-Fi后) + */ + static getGatewayIpAddress() { + let ipAddress = wifiManager.getIpInfo().gateway; + let ip = (ipAddress >>> 24) + "." + (ipAddress >> 16 & 0xFF) + "." + (ipAddress >> 8 & 0xFF) + "." + (ipAddress & 0xFF); + return ip; + } /** * 订阅指定网络状态变化的通知,支持多事件监听回调。 -- Gitee