Dev/Android

Android 네트워크 시간 가져오는 방법

healthyryu 2018. 1. 17. 10:24

Android 네트워크 시간 가져오는 방법



해당 어플리케이션이 자동 시간을 해제할 경우 네트워크 시간을 가져오기 위해서 검색했습니다.

네트워크 시간을 가져오기 전에 날짜 및 시간 체크가 자동설정으로 되어있는지 체크를 하고 진행했습니다.



참고 코드

public static final String TIME_SERVER = "pool.ntp.org";


public static long getCurrentNetworkTime() {

    NTPUDPClient lNTPUDPClient = new NTPUDPClient();

    lNTPUDPClient.setDefaultTimeout(3000);

    long returnTime = 0;

    try {

        lNTPUDPClient.open();

        InetAddress lInetAddress = InetAddress.getByName(TIME_SERVER);

        TimeInfo lTimeInfo = lNTPUDPClient.getTime(lInetAddress);

        // returnTime =  lTimeInfo.getReturnTime(); // local time

        returnTime = lTimeInfo.getMessage().getTransmitTimeStamp().getTime();   //server time

    } catch (Exception e) {

        e.printStackTrace();

    } finally {

        lNTPUDPClient.close();

    }


    return returnTime;

}


dependency 추가

compile 'commons-net:commons-net:3.6'



참고 : http://iosdevlog.com/ntp/2017/07/04/network-time-protocal-ntp-android.html

반응형