webservice에서 반환 한 값에 따라 Android 애플리케이션이 있습니다. 이 값은 일주일에 한 번만 변경됩니다. 클라이언트는이 변경된 값을 감지해야하지만,이 변경을 감지 한 정확한 시간은 실제로 중요하지 않습니다. 12 시간에서 24 시간 후에 문제가 없어야합니다.Android 맞춤 애플리케이션 클래스 onCreate() 메소드에서 수행 된 작업을 예약해야합니까?
현재 구현은 webservice에서 값을 가져 오는 내 사용자 지정 응용 프로그램 클래스의 onCreate() 메서드에서 IntentService를 시작합니다. 또한 SharedPreferences에서 마지막으로 검색 한 값을 유지하므로 응용 프로그램에서이 값을 검색 할 때까지 기다릴 필요가 없습니다.
이제 내 질문은 onCreate() 메서드에서 처음 검색 한 후이 값의 검색을 예약해야하는 경우입니다. 12 시간 후에 말하도록 할 수 있습니다. onCreate() 메서드는 응용 프로그램의 수명주기에 한 번만 호출된다는 것을 알고 있지만, 응용 프로그램이 Android 시스템에서 종료 될 가능성이 얼마나 높을 지 모르겠습니다. 스케줄링이 필요하지 않도록 응용 프로그램이 충분히 종료 될 것이라고 가정하는 것이 합리적입니까? 그리고 수술을 예약해야하는 경우,이를 달성하는 가장 좋은 방법은 무엇입니까?
onCreate를 사용했다면 두 번째로 호출 할 것이라고는 확신하지 못합니다. 예 : 사용자가 충전을 위해 휴대 전화를 연결하면 수면 모드가 해제되고 앱이 며칠 동안 계속 실행됩니다. 매우 희박하지만 불가능하지는 않습니다. 내가 너라면 내가 일종의 예정된 일을 정했다. 아마이 링크가 도움이 될 것입니다 - http://developer.android.com/resources/articles/timed-ui-updates.html. –
당신이 개요를 설명하는 시나리오가 내가이 질문을 한 이유이다. Handler와 link 된 article의 postDelayed() 메서드를 사용한 코드 예제가 나에게 좋을 것 같은데, 나는 또한 이것이 효율적인 솔루션이라고 생각한다. –
링크 된 기사에 설명 된 솔루션을 구현할 것입니다. 이것을 당신 자신의 대답에 넣으면 나는 당신의 대답을 받아 들일 것입니다. 그렇지 않다면 나는 나중에 내 자신의 질문에 대답 할 것이다. –