デバイスの IP アドレスを取得するために使用しているコードは次のとおりです。
public static String getIPAddress(boolean useIPv4) {
try {
List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface intf : interfaces) {
List<InetAddress> addrs = Collections.list(intf.getInetAddresses());
for (InetAddress addr : addrs) {
if (!addr.isLoopbackAddress()) {
String sAddr = addr.getHostAddress().toUpperCase();
boolean isIPv4 = InetAddressUtils.isIPv4Address(sAddr);
if (useIPv4) {
if (isIPv4)
return sAddr;
} else {
if (!isIPv4) {
int delim = sAddr.indexOf('%'); // drop ip6 port suffix
return delim<0 ? sAddr : sAddr.substring(0, delim);
}
}
}
}
}
} catch (Exception ex) { } // for now eat exceptions
return "";
}
問題は、コードが 192.xxx.xxx.xxx アドレスではなく 10.xx.xx.xx IP を選択することです。192 アドレスを使用するように強制するにはどうすればよいですか?
Samsung Galaxy Express を使用しています。問題を引き起こしているいくつかのタスクで、WiFi ではなくセルを使用しているようです。私はセル信号のないSamsungタブレットを持っており、これは192アドレス(私が知っている唯一のオプション)を選択しますが、アプリは全体的に機能します.ExpressはWiFiではなくセルを使用しているようです.
「モバイル ネットワーク」をオフにしてみましたが、効果がありません。
追加の質問として、SIM カードを取り出さずに携帯電話のモバイル ネットワークを完全に無効にする方法を教えてください。
ありがとう