From cd44a180c4d4a3af3120576e491bde147cfaaf9d Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 18 一月 2020 10:15:58 +0800
Subject: [PATCH] 2020-1-18 1.增加默认获取WiFi连接的广播配置方法。

---
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java
index b030684..8e29bfd 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java
@@ -7,6 +7,7 @@
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 
+import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLDeviceManager;
 import com.hdl.sdk.hdl_core.Util.LogUtil.HDLLog;
 
 import java.net.InetAddress;
@@ -21,6 +22,17 @@
  */
 
 public class NetWorkUtil {
+
+    private static boolean isGetWifiBroadCast = false;
+
+    public static boolean isIsGetWifiBroadCast() {
+        return isGetWifiBroadCast;
+    }
+
+    public static void setIsGetWifiBroadCast(boolean isGetWifiBroadCast) {
+        NetWorkUtil.isGetWifiBroadCast = isGetWifiBroadCast;
+    }
+
     public static final int GET_LOCAL_IP = 1;
     public static final int GET_MAC_ADDRESS = 2;
     public static final int GET_NETMASK = 3;
@@ -119,6 +131,26 @@
     }
 
     public static String getLocalBroadCast() {
+        String broadCastIp =  "255.255.255.255";
+        try {
+            //2020-1-17 鏂版垨鑰匢P鍦板潃鏂规硶
+            if (isGetWifiBroadCast) {
+                broadCastIp = getWifiBroadAddress();
+            } else {
+                broadCastIp = getLocalBroadCastOld();
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        if (broadCastIp == null) {
+            HDLLog.E("getLocalBroadCast error ip null");
+        }
+        return broadCastIp;
+    }
+
+    public static String getLocalBroadCastOld() {
         String broadCastIp = null;
         try {
             Enumeration<?> netInterfaces = (Enumeration<?>) NetworkInterface.getNetworkInterfaces();
@@ -145,7 +177,19 @@
         return broadCastIp;
     }
 
+    public static String getWifiBroadAddress() {
 
+        String ipaddress = "255.255.255.255";
+        try {
+            WifiManager wifimanage = (WifiManager) HDLDeviceManager.getViewContext().getApplicationContext().getSystemService(Context.WIFI_SERVICE);// 鑾峰彇WifiManager
+            DhcpInfo dhcpInfo = wifimanage.getDhcpInfo();
+            ipaddress = intToIp((dhcpInfo.ipAddress) | (~dhcpInfo.netmask));
+
+        } catch (Exception ex) {
+            ipaddress = "255.255.255.255";
+        }
+        return ipaddress;
+    }
 
 
     public static InetAddress getLocalHostLANAddress() throws Exception {

--
Gitblit v1.8.0