JLChen
2020-01-18 cd44a180c4d4a3af3120576e491bde147cfaaf9d
2020-1-18 1.增加默认获取WiFi连接的广播配置方法。
4个文件已修改
54 ■■■■■ 已修改文件
app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hdl_core/build.gradle 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/NetUtil/NetWorkUtil.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
//        /**配置是否开启SDK打印日志,默认为打开*/
//        HDLCommand.setHDLLogOpen(false);//
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"
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
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 新或者IP地址方法
            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 {