デバイスのIPアドレスを取得しようとしています。つまり、WIFIまたは3G接続を使用しています。私は理解できないIPV6形式のIPアドレスを取得しています。私はIPV4形式IPアドレスでしたい。私はgoogleを行っているが、dintは適切な解決策を見つけた。IPV4形式でIP_ADDRESSを取得する方法
ip1--:/fe80::5054:ff:fe12:3456%eth0%2
ip2--:fe80::5054:ff:fe12:3456%eth0
それはこのように表示されるべきである:
192.168.1.1
ここ
は、私は、この出力に含まを取得しています、私は、デバイス
public String getLocalIpAddress() {
try {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
{
InetAddress inetAddress = enumIpAddr.nextElement();
System.out.println("ip1--:" + inetAddress);
System.out.println("ip2--:" + inetAddress.getHostAddress());
if (!inetAddress.isLoopbackAddress()) {
String ip = inetAddress.getHostAddress().toString();
System.out.println("ip---::" + ip);
EditText tv = (EditText) findViewById(R.id.ipadd);
tv.setText(ip);
return inetAddress.getHostAddress().toString();
}
}
}
} catch (Exception ex) {
Log.e("IP Address", ex.toString());
}
return null;
}
のIPアドレスを取得するために使用していたコードです
私を助けてください。
nullの結果を防ぐための許可を忘れないでください: –
Vyacheslav
"ipv4"をどこで宣言するのですか? – CrazyMind