diff --git a/README.md b/README.md index 2b761c6ccaf607a0429d9051b6db0cc20b4f7e3c..c3601d0ce615cc1f417a153060431fd0560692d1 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 2b21c439e6859a4df09726f0804aef08d579bc0f..0ca699e63a3a88e3928deba73a5dcb86d9eab923 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 2479486a761df8c1e3b3c1a2da9eebe8211e8205..a639c38a7821e2402b63af6c1d22bb57d4b7b528 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; + } /** * 订阅指定网络状态变化的通知,支持多事件监听回调。