마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ip address 가져오기 질문드립니다.

0 추천

현재 ip address정보를 가져오려고 하고 있습니다 .

1) 

public static String getCurrentIpAddress(Context context){

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

int ipAddress = wifiManager.getConnectionInfo().getIpAddress();

return String.format("%d.%d.%d.%d", (ipAddress & 0xff), (ipAddress >> 8 & 0xff),

        (ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff));

}

2) public static String getCurrentIpAddress() {

try {

Enumeration<NetworkInterface> en =  NetworkInterface.getNetworkInterfaces();

while(en.hasMoreElements()) {

NetworkInterface interf = en.nextElement();

Enumeration<InetAddress> ips = interf.getInetAddresses();

while (ips.hasMoreElements()) {

InetAddress inetAddress = ips.nextElement();

if (!inetAddress.isLoopbackAddress()) {

return inetAddress.getHostAddress().toString();

}

}

}

} catch (SocketException ex) {

Log.e("Error", ex.toString());

}

return null;

}

 

두가지 모두 가져오지 못하고 있습니다.  유경험자분 답변 부탁드립니다. 

메니페스트에서는  

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.INTERNET" >

 

추가되어 있습니다. 

익명사용자 님이 2014년 7월 21일 질문

1개의 답변

0 추천

예전에 만들어 놓은 소스를 못찾아서.

IP확인 할 때 도움된 소스라도 올릴께요.

메니페스트는 위와 다르게 추가했던건 없고,

저 같은 경우엔 TextView를 이용해서 string 값 받아서 공기계에 띄웠어요.

 

WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);

DhcpInfo dhcpInfo = wm.getDhcpInfo() ; 

int serverIp = dhcpInfo.gateway;

 

String ipAddress = String.format(

"%d.%d.%d.%d",

(serverIP & 0xff),

(serverIP >> 8 & 0xff),

(serverIP >> 16 & 0xff),

(serverIP >> 24 & 0xff));

 

출처 : http://biig.tistory.com/38

공대남 (240 포인트) 님이 2014년 7월 21일 답변
...