TextView tv_IP;
String ip = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_IP = (TextView)findViewById(R.id.textView1);
ip = getLocalIpAddress();
tv_IP.setText("ip : " + ip);
}
public String getLocalIpAddress(){
String ipAddress = null;
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();
if (!inetAddress.isLoopbackAddress()) {
ipAddress = inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {}
return ipAddress;
}
이렇게 소스 구현을 하였습니다.
그런데.. 더욱 궁금한게 있습니다.
스마트폰에 찍힌 아이피 결과 : ex) 10.10.10.10
네이버에서 내 아이피 확인한 결과 : ex) 20.30.40.50
이런식으로 완전히 틀리게 나오는 이유는 무었일까요?