修复获取短信获取sim卡信息时,热点开启的情况下,ip返回热点的bug

heatbeat
liuguijing 3 months ago
parent aa434414ed
commit 691acaf67e

@ -6,14 +6,20 @@ import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.LinkProperties;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.text.format.Formatter;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URI;
import java.util.Enumeration;
import java.util.regex.Pattern;
@ -89,6 +95,29 @@ public class NetworkUtils {
}
public static String getMobileIPAddress() {
try {
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface networkInterface = interfaces.nextElement();
if (networkInterface.isUp() && !networkInterface.isLoopback()) {
if (networkInterface.getName() != null && !networkInterface.getName().contains("ap")) {
Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (!address.isLoopbackAddress() && address.getAddress().length == 4) { // IPv4
return address.getHostAddress();
}
}
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return null;
}
public static int addAPN(Context context, String name, String desc, String numeric, String user, String pwd) {
int id = -1;
String NUMERIC = getSIMInfo(context);

@ -687,7 +687,7 @@ public class SimUtil {
result.append(isActiveSlot ? ",默认" : "");
if (isActiveSlot) {
result.append(",IP=" + NetworkUtils.getMobileNetworkIp(context));
result.append(",IP=" + NetworkUtils.getMobileIPAddress());
}
result.append(" ");

Loading…
Cancel
Save