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