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连接的广播配置方法。 --- app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java | 2 ++ hdl_core/build.gradle | 2 +- hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java | 6 +++++- 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java index 5b09f1c..538b2d3 100644 --- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java +++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java @@ -25,6 +25,7 @@ import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.DevicesInfoEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.ThirdPartyBgmInfoEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.WarningInfoEvent; +import com.hdl.sdk.hdl_core.Util.NetUtil.NetWorkUtil; import com.hdl.sdk.hdl_sdk.R; import com.hdl.sdk.hdl_sdk.utlis.HDLLog; @@ -54,6 +55,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + NetWorkUtil.setIsGetWifiBroadCast(true); HDLCommand.init(this); // /**閰嶇疆鏄惁寮�鍚疭DK鎵撳嵃鏃ュ織锛岄粯璁や负鎵撳紑*/ // HDLCommand.setHDLLogOpen(false);// diff --git a/hdl_core/build.gradle b/hdl_core/build.gradle index 6ac4331..06da373 100644 --- a/hdl_core/build.gradle +++ b/hdl_core/build.gradle @@ -7,7 +7,7 @@ minSdkVersion 17 targetSdkVersion 28 versionCode 1 - versionName "1.0.5" + versionName "1.0.6" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java index ddd3bda..114e312 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java @@ -66,6 +66,8 @@ public static List<String> rcuIpList = new ArrayList<>();//缁熻Rcu ip鍦板潃鍒楄〃 public static List<DevicesData> devicesDataList = new ArrayList<>();//缁熻鎼滅储鍒楄〃 public static List<DevicesData> realDevicesDataList = new ArrayList<>();//缁熻鎼滅储鍒楄〃 + + private static Context viewContext; public static List<ListRemarks> listRemarks = new ArrayList<>(); public static List<RcuLight> rcuLightList = new ArrayList<>(); @@ -108,7 +110,9 @@ // HDLUdpCore.initMulticastSocket6000(); } - + public static Context getViewContext() { + return viewContext; + } /** * 閲婃斁Socket 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