app/src/main/java/com/hdl/photovoltaic/other/HdlOtaLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils123.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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,告诉网关手机ip和端口; //实例化 获取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); 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 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(); //调用方法将int转换为地址字符串 String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());//得到IPV4地址 return ipAddress; } } else { //当前无网络连接,请在设置中打开网络 } return null; } /** * 将得到的int类型的IP转换为String类型 * * @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 { app/src/main/java/com/hdl/photovoltaic/utils/NetworkUtils123.java
File was deleted