두 값이 동기화되지 않은 경우 (예 : 2/3) 응용 프로그램이 닫히는 동안 인 베이트 서비스를 실행해야하는 앱을 작성했습니다. 인 텐트 서비스는 응용 프로그램 내에서 BroadcastReceiver를 사용하여 두 값을 표시하는 텍스트보기를 업데이트합니다.앱 폐쇄 후 의도 서비스가 계속 열려 있습니다.
또한 의도 서비스는 하나의 활동에서 작성되었지만 다른 활동에서 중지되어야합니다. 두 값은 GPS 위치 업데이트와 웹 서비스 메소드를 통해 전송되는 위치를 기반으로합니다. 포인트에서 GPS는 위치를 업데이트 할 수 있으며 웹 서비스는 모바일 데이터/무선 랜으로의 연결이 제한되어 있기 때문에 가치가 균형을 벗어나게됩니다 (1/3). 사용자가 앱을 닫으면 값이 도달 할 때까지 계속 실행해야합니다. 3/3 (앱이 종료되면 GPS가 업데이트되지 않습니다.)
응용 프로그램이 닫힌 경우에도 값이 다시 동기화 될 때까지 인 텐트가 실행되어야합니다. 앱을 닫은 상태에서이 값을 계속 유지하면 값이 동기화 될 때 앱을 종료 한 다음 중지합니다.
AsyncTask는 웹 서비스 메서드 실행에 사용되지만 응용 프로그램이 활동을 닫으면 중지됩니다. IntentService 내에서 실행하면 모든 작업에서 사용할 수 있었기 때문에 전체 애플리케이션이 업데이트 3 (3 분의 3)을 완료하면 중지 할 수있었습니다. GPS는 일반적인 서비스 내에서 실행되지만 WebService 메서드는 IntentService 내에 있습니다. 업데이트가 끝나면 onHandleIntent가 끝납니다. 3/3 또는 그 일이 끝나면 끝내야합니다. – Dbucha01
IntentService를 사용하여 추가 작업없이 웹 서비스를 실행하십시오. 귀하의 경우에는 쓸모없는 것으로 보입니다. IntentService는 모든 것을 끝내는 데 걸리는 시간만큼 실행됩니다. onLocationChanged가 웹 서비스를 받고 업데이트 할 때까지 기다리지 않으시겠습니까? 당신이 새로운 위치를 recevie 때까지 그것을 열어 두는 것은 (적어도 3) 전혀 이해가되지 않습니다. –
그것이 내가하는 일 중 3 분의 3은 단지 예일뿐입니다. 응용 프로그램은 1, 2, 2 등으로 갈 예정이지만 때로는 네트워크 연결 부족으로 인해 WebService 업데이트가 발생하지 않아 응용 프로그램이 동기화되지 않습니다. 즉, 1/2, 3/2 여전히 응용 프로그램을 벗어날 수 있어야하며 값이 동일해질 때까지 업데이트해야합니다. 사용자가 앱을 종료하면 GPS 업데이트가 종료됩니다. 따라서 사용자가 GPS 업데이트를 5 회 실행하고 앱을 종료하면 더 이상 업데이트되지 않습니다. 웹 서비스 업데이트가 동기화되지 않은 경우 1시입니다. GPS 번호 (5/5) – Dbucha01