Android/WI-FI | Posted by 덩치 2014.01.08 12:56

연결된 Wifi의 IP Address 확인

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

WifiInfo에서 검출할 수 있는 ip address는 현재 연결된 Wifi의 아이피 주소가 아니다.

(단말기의 IP Address였던가 정확히 기억은 나지 않는다. 죄송)


현재 연결된 와이파이의 아이피 주소를 검출하는 소스는 다음과 같다.


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));


이것때문에 나도 고생을 많이 했었는데 이렇게 하니 해결됐다.



댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 진우 2017.07.08 21:15

    저도 안드로이드 기기의 공인IP 를 가져오는 문제로 고민중인데
    올레와이파이에서는 공인IP를 가져오는데
    집이나 사무실 공유기에 접속된 경우 사설IP 를 가져오는것같아서 같은 고민중입니다
    위 소스도 방금 테스트 해보니 집이나 사무실 공유기에 접속된 상태에서는 사설IP를 가져오네요..
    다른 서버에 접속해서 서버에서 알려주게끔 해야하는건지..