From e621d580011682941a79c107f46fe7aeb5b0e7de Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 08 一月 2024 11:53:48 +0800 Subject: [PATCH] 2024年01月08日11:53:43 --- /dev/null | 83 --------------------------- app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java | 57 +++++++++++++++++++ app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 6 +- app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java | 4 4 files changed, 62 insertions(+), 88 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java index 7cb837f..f08d9c1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java @@ -28,7 +28,7 @@ import com.hdl.photovoltaic.listener.LinkCallBack; import com.hdl.photovoltaic.utils.AesUtils; import com.hdl.photovoltaic.utils.Md5Utils; -import com.hdl.photovoltaic.utils.NetworkUtils123; +import com.hdl.photovoltaic.utils.NetworkUtils; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.callback.HDLLinkCallBack; @@ -500,7 +500,7 @@ //1,寤虹珛鏈湴鏈嶅姟锛� //2锛屽憡璇夌綉鍏虫墜鏈篿p鍜岀鍙o紱 //瀹炰緥鍖� 鑾峰彇ip 鍦板潃 - MyNanoHttpServer.getInstance(NetworkUtils123.getInstance().getIPAddress(HDLApp.getInstance())); + MyNanoHttpServer.getInstance(NetworkUtils.getIPAddress(HDLApp.getInstance())); //MyNanoHttpServer.getInstance("127.0.0.1"); intentServer = new Intent(); intentServer.setClass(HDLApp.getInstance(), MyNanoHttpService.class); diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index 2d67ed3..c425f7c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -28,7 +28,7 @@ import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; -import com.hdl.photovoltaic.utils.NetworkUtils123; +import com.hdl.photovoltaic.utils.NetworkUtils; import com.hdl.photovoltaic.utils.WifiUtils; import com.hdl.sdk.link.common.exception.HDLLinkCode; import com.hdl.sdk.link.common.exception.HDLLinkException; @@ -541,7 +541,7 @@ } String md5 = HDLMD5Utils.encodeMD5(data);//缃戝叧鍥轰欢闇�瑕� //鍗囩骇鍥轰欢鏂囦欢鍦板潃 - String upgradeFileLocalPathUrl = "http://" + NetworkUtils123.getInstance().getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + firmwarePathFileName; + String upgradeFileLocalPathUrl = "http://" + NetworkUtils.getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + firmwarePathFileName; //閫氱煡缁欑綉鍏冲崌绾у浐浠舵枃浠跺湴鍧�绛変俊鎭� HdlOtaLogic.getInstance().pushUpgradePacketInfo(deviceMac, oid, module, version, data.length + "", upgradeFileLocalPathUrl, md5, new LinkCallBack<String>() { @Override @@ -797,7 +797,7 @@ } String md5 = HDLMD5Utils.encodeMD5(data);//缃戝叧椹卞姩闇�瑕� //鍗囩骇椹卞姩鏂囦欢鍦板潃 - String upgradeFileLocalPathUrl = "http://" + NetworkUtils123.getInstance().getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + drivePathFileName; + String upgradeFileLocalPathUrl = "http://" + NetworkUtils.getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + drivePathFileName; //閫氱煡缁欑綉鍏冲崌绾ч┍鍔ㄦ枃浠跺湴鍧�绛変俊鎭� HdlOtaLogic.getInstance().pushUpgradePacketInfo(deviceMac, deviceOid, module, version, data.length + "", upgradeFileLocalPathUrl, md5, new LinkCallBack<String>() { @Override diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java index 5e5b85a..e640fc2 100644 --- a/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java +++ b/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java @@ -10,6 +10,8 @@ import android.net.Network; import android.net.NetworkInfo; import android.net.NetworkRequest; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; import android.os.Build; import android.telephony.TelephonyManager; @@ -19,6 +21,11 @@ import com.hdl.photovoltaic.HDLApp; import java.lang.ref.WeakReference; +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.Enumeration; import java.util.HashSet; import java.util.Set; import java.util.concurrent.Executors; @@ -236,6 +243,56 @@ return cm.getActiveNetworkInfo(); } + /** + * 鑾峰緱IP鍦板潃锛屽垎涓轰袱绉嶆儏鍐�: + * 涓�锛氭槸wifi涓嬶紱 + * 浜岋細鏄Щ鍔ㄧ綉缁滀笅锛� + */ + public static String getIPAddress(Context context) { + NetworkInfo info = ((ConnectivityManager) context + .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); + if (info != null && info.isConnected()) { + if (info.getType() == ConnectivityManager.TYPE_MOBILE) {//褰撳墠浣跨敤2G/3G/4G缃戠粶 + try { + //Enumeration<NetworkInterface> en=NetworkInterface.getNetworkInterfaces(); + for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { + NetworkInterface intf = en.nextElement(); + for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + InetAddress inetAddress = enumIpAddr.nextElement(); + if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { + return inetAddress.getHostAddress(); + } + } + } + } catch (SocketException e) { + e.printStackTrace(); + } + } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {//褰撳墠浣跨敤鏃犵嚎缃戠粶 + WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + //璋冪敤鏂规硶灏唅nt杞崲涓哄湴鍧�瀛楃涓� + String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());//寰楀埌IPV4鍦板潃 + return ipAddress; + } + } else { + //褰撳墠鏃犵綉缁滆繛鎺�,璇峰湪璁剧疆涓墦寮�缃戠粶 + } + return null; + } + + /** + * 灏嗗緱鍒扮殑int绫诲瀷鐨処P杞崲涓篠tring绫诲瀷 + * + * @param ip int绫诲瀷 + * @return - + */ + public static String intIP2StringIP(int ip) { + return (ip & 0xFF) + "." + + ((ip >> 8) & 0xFF) + "." + + ((ip >> 16) & 0xFF) + "." + + (ip >> 24 & 0xFF); + } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private static class NetworkCallbackImpl extends ConnectivityManager.NetworkCallback { diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils123.java b/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils123.java deleted file mode 100644 index 46f7287..0000000 --- a/app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils123.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hdl.photovoltaic.utils; - -import android.content.Context; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; - -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.Enumeration; - - -public class NetworkUtils123 { - - private static NetworkUtils123 mNetworkUtils123; - - - public static NetworkUtils123 getInstance() { - if (null == mNetworkUtils123) { - synchronized (NetworkUtils123.class) { - if (null == mNetworkUtils123) { - mNetworkUtils123 = new NetworkUtils123(); - } - } - } - return mNetworkUtils123; - } - - /** - * 鑾峰緱IP鍦板潃锛屽垎涓轰袱绉嶆儏鍐�: - * 涓�锛氭槸wifi涓嬶紱 - * 浜岋細鏄Щ鍔ㄧ綉缁滀笅锛� - */ - public String getIPAddress(Context context) { - NetworkInfo info = ((ConnectivityManager) context - .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); - if (info != null && info.isConnected()) { - if (info.getType() == ConnectivityManager.TYPE_MOBILE) {//褰撳墠浣跨敤2G/3G/4G缃戠粶 - try { - //Enumeration<NetworkInterface> en=NetworkInterface.getNetworkInterfaces(); - for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { - NetworkInterface intf = en.nextElement(); - for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { - InetAddress inetAddress = enumIpAddr.nextElement(); - if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { - return inetAddress.getHostAddress(); - } - } - } - } catch (SocketException e) { - e.printStackTrace(); - } - } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {//褰撳墠浣跨敤鏃犵嚎缃戠粶 - WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); - WifiInfo wifiInfo = wifiManager.getConnectionInfo(); - //璋冪敤鏂规硶灏唅nt杞崲涓哄湴鍧�瀛楃涓� - String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());//寰楀埌IPV4鍦板潃 - return ipAddress; - } - } else { - //褰撳墠鏃犵綉缁滆繛鎺�,璇峰湪璁剧疆涓墦寮�缃戠粶 - } - return null; - } - - /** - * 灏嗗緱鍒扮殑int绫诲瀷鐨処P杞崲涓篠tring绫诲瀷 - * - * @param ip int绫诲瀷 - * @return - - */ - public static String intIP2StringIP(int ip) { - return (ip & 0xFF) + "." + - ((ip >> 8) & 0xFF) + "." + - ((ip >> 16) & 0xFF) + "." + - (ip >> 24 & 0xFF); - } - - -} -- Gitblit v1.8.0