IntentService를 확장하는 클래스 ABC가 있습니다. 이 클래스는 WakefulBroadcastReceiver를 확장하는 DEF라는 수신기 클래스에 의해 호출됩니다.IntentService 개체가 완전히 처리되고 무기한 시간이 걸리는 경우 다른 대기중인 인 텐트는 어떻게 처리됩니까?
DEF 클래스가 인 텐트를 수신 할 때마다 startWakefuleService를 호출하고 해당 인 텐트를 ABC 클래스에 전달합니다.
ABC 클래스의 onHandle()에서 인 텐트가 처리되고 관련 정보가 콜백을 사용하여 서버로 전송됩니다.
onHandle() 끝 부분에서 DEF.completeWakefulIntent (인 텐트)가 호출되어 웨이크 잠금이 반환됩니다.
내 질문은 다음과 같은 시나리오에 관한 것입니다 :
내 브로드 캐스트 리시버 클래스 DEF는, 다수의 의도
- 그것은 클래스 ABC를 통해 여러 IntentServices 시작을 받았다.
첫 번째 인 텐트 서비스가 서버에 http 요청을 보내면 많은 시간이 걸리거나 전혀 돌아 가지 않습니다.
시작된 다른 인 텐트 서비스가 처리 중이거나 처리 대기중인 대기열에 멈추게됩니까?
[documentation] (https://developer.android.com/reference/android/app/IntentService.html)은 IntentService 개체가 순차적으로 처리된다고 말합니다.
도움을 주시면 감사하겠습니다.
감사합니다. 필자의 경우 POST 요청을하는 동안 비동기 호출을하고 있는데 서버에서 응답을받을 때까지 IntentService가 다른 객체를 차단합니까? 즉, 처리가 완료되는 시점을 어떻게 알 수 있습니까? – Kanika
프로젝트의 세부 사항을 모르겠습니다. onHandleIntent()의 이전 호출이 완료 될 때까지는 onHandleIntent()가 다시 호출되지 않습니다. onHandleIntent()에서 비동기 적으로 작업을 수행하려면 IntentService를 사용하지 않아야합니다. –
무엇이 onHandleIntent() 완료를 표시합니까? 방법의 끝인가요? 또는 completeWakefulIntent 호출? – Kanika