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
'Dev > Android' 카테고리의 다른 글
Android 스크린샷 참고 - ScreenShot (0) | 2018.01.19 |
---|---|
Android 날짜 및 시간 자동 설정 체크 - Automatic date and time check (0) | 2018.01.17 |
switch 의 버튼 비활성화는 setEnabled(boolean) (0) | 2018.01.05 |
여러개의 Fragment 를 사용할때 해당 화면 감지하는 방법 (0) | 2017.12.14 |
키가 같은 APK 는 공식 플레이스토어에서 업데이트가 가능하다. (0) | 2017.12.11 |