2016-09-16 2 views
-4

로컬 스토리지에서 데이터베이스로 데이터를 업데이트하기 위해 1 시간마다 네트워크를 확인하려고하지만 어느 것이 든 타이머 나 알람을 사용할 것인지를 모릅니다. 코드가 있으면 나와 공유하십시오. 감사합니다.1 시간마다 타이머를 설정하여 1 시간마다 네트워크를 확인하는 방법은 무엇입니까?

+1

시도가 제공하는 다양한 기능을 설명하는 좋은 기사입니다. 그리고 연결이 가능하면 수신자에게 알리고 백그라운드에서 데이터를 업데이트하십시오. –

답변

-1

Service 배경을 사용하고 Service 클래스에 CountDownTimer을 사용하십시오. CountDownTimer

0

GcmNetworkManager 사용할 수 있습니다, 당신이 설명한 요구에 맞는, here 작업 샘플입니다. 21보다 내부적으로 JobScheduler를 사용하고 21 이하에서는 일부 Google 적합성을 사용합니다. 작업을 실행하는 데 인터넷이 필요하다는 사전 조건을 추가하면서 매시간마다 정기적 인 작업을 실행하도록 예약 할 수 있습니다. 그러면 시스템이 작업을 실행할 적절한 시간을 결정합니다. 이런 식으로 뭔가,

PeriodicTask periodicTask = new PeriodicTask.Builder() 
      .setService(YOUR_SERVICE) //should extend GcmTaskService 
      .setPeriod(TimeUnit.HOURS.toSeconds(1)) 
      .setFlex(TimeUnit.MINUTES.toSeconds(30)) 
      .setTag("UpdateDB") 
      .setRequiredNetwork(PeriodicTask.NETWORK_STATE_CONNECTED) 
      .setPersisted(true) 
      .build(); 

here 가능 여부를 상호 연결을 확인하기 위해 의도 서비스를 만들 수 GCMNetwork 관리자

관련 문제