사용자의 셋팅이나 지역이 변경되면서 시간이 바뀌는 local time 말고...
언제나 변함이 없는 절대 시간을 가져오려고 하는데,
어떤 클래스나 함수가 있는지 잘 모르겠습니다.
알람과 비슷한 기능을 구현하려고 하는데, 예를 들어
지금부터 30분후에 뭔가 사용자에게 노티를 하려고 할 때에,
현재 시간을 가져온 후에 거기에 30분을 더해서 target 시간을 셋팅하고,
타이머를 돌리려고 합니다.
여기서 중요한 것은 이 후에 사용자가 시간을 임의로 변경하더라도
처음 셋팅한 후부터 정확히 30분 후에 노티를 줘야 한다는 점입니다.
또한 폰이 리붓되더라도 남은 시간만큼만 다시 타이머를 돌려야 하구요...
그래서 현재 시간을 가져온 후에 30분 더한 시간을 sharedpreference로 저장
을 하는 것이 필요할 듯 합니다.
Date클래스에 있는 getTime()을 사용할 경우 local time을 가져오기 때문에,
사용자가 시간을 변경하면 저장해둔 target시간과 차이가 발생하게 됩니다.
그래서 필요한 것이 UTC(GMT) time인데, local time에 대한 UTC가 아니라,
말 그대로 기준이 되는 변하지 않는 현재 시간에 대한 UTC를 가져와야 합니다.
이럴때 어떻게 구현을 해야 되나요??
아래는 구현하고자 하는 방법을 예를 들어 간단히 정리해봤습니다.

1. remind time = get current time +  30minutes
2. save remind time as a shared preference.
3. start timer for remind time
4. If the device reboot, then new timer = get current time - saved remind time;
5. start new timer