소스 검색

<优化IP地址显示>

weizhengliang 4 년 전
부모
커밋
4f0db923ba

+ 1 - 1
app/src/main/java/com/wdkl/callingbed2/ui/CallingBedActivity.java

@@ -2487,7 +2487,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
         versionEntityList.clear();
         VersionEntity entity1 = new VersionEntity();
         entity1.setTitle("本机IP地址");
-        entity1.setValue(NetUtil.getLocalIpAddress());
+        entity1.setValue(NetUtil.getLocalIP());
         versionEntityList.add(entity1);
         VersionEntity entity2 = new VersionEntity();
         entity2.setTitle("本机MAC地址");

+ 2 - 2
app/src/main/java/com/wdkl/callingbed2/ui/InitActivity.java

@@ -172,7 +172,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
     public void isNewWork() {
         if (cm != null) {
             //ethreboot();//wuyq add
-            String ipStr = NetUtil.getLocalIpAddress();
+            String ipStr = NetUtil.getLocalIP();
             NetworkInfo networkInfo = cm.getActiveNetworkInfo();
             if (networkInfo != null && networkInfo.isConnected()) { //wuyq modify
                 if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI || networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {
@@ -268,7 +268,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
      */
     private void getInitData() {
         LogUtil.d("getInitData", "URL==" + Constants.URL + Constants.URL_END + Constants.CALLINGBED_INIT);
-        final String ipStr = NetUtil.getLocalIpAddress();
+        final String ipStr = NetUtil.getLocalIP();
         if (Constants.URL.length() > 7) {
             OkHttpUtils
                     .post()

+ 17 - 0
app/src/main/java/com/wdkl/callingbed2/util/NetUtil.java

@@ -121,6 +121,23 @@ public class NetUtil {
         return null;
     }
 
+    public static String getLocalIP() {
+        try {
+            for (Enumeration<NetworkInterface> enNetI = NetworkInterface.getNetworkInterfaces(); enNetI.hasMoreElements(); ) {
+                NetworkInterface netI = enNetI.nextElement();
+                for (Enumeration<InetAddress> enumIpAddr = netI.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
+                    InetAddress inetAddress = enumIpAddr.nextElement();
+                    if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) {
+                        return inetAddress.getHostAddress();
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     /**
      * wifi的网关
      *