Android가 처음이므로 다음 솔루션이 올바른지 확인하고 싶습니다.Android에서 예약 작업 수행
문제 : webservice를 통해 장치의 로컬 데이터베이스를 내 서버의 데이터베이스와 10 분마다 동기화하려고합니다. 이미 새로운/업데이트 된 레코드를 반환 할 수있는 웹 서비스 호출이 있습니다. 내가 궁금해하는 것은이 작업을 예약하는 가장 좋은 방법입니다. 응용 프로그램이 실행되고 있지 않을 때에도 데이터베이스를 동기화하고 싶습니다.
내 솔루션 (이 가야 할 올바른 길인가?) : 나는 MyReceiver에 메시지를 보내는 알람 관리기를 작성합니다 onReceive 그것의에 내가 (경유, android.intent.action.BOOT_COMPLETED을 수신 한 브로드 캐스트 리시버를해야합니다 PendingIntent)를 10 분마다 실행합니다. 또한, 내 응용 프로그램의 시작에서 동일한 작업을 수행합니다 (PendingIntent를 통해 MyReceiver에 메시지를 보내려면 경보를 생성하십시오). 두 경보가 모두 MyReceiver에 메시지를 보내고 해당 PendingIntents가 PendingIntent.FLAG_UPDATE_CURRENT로 초기화되므로 새 경보가 오래된 것? (이것은 내가 무엇을하고 싶은지, 어떤 이유로 장치 부팅 후에 알람이 취소되면 응용 프로그램이 시작될 때 다시 시작해야합니다).
MyReceiver의 onReceive()에서 MyIntentService를 만듭니다 (이 인스턴스는 웹 서비스 호출을 만들고 로컬 데이터베이스를 업데이트합니다).
좋은 해결책입니까? 어떤 제안? 가있는 경우는 그 방식으로 FLAG_UPDATE_CURRENT를 사용
감사