내 응용 프로그램은 파일 (5-12MB 조각)을 다운로드하고 외부 저장소에서 액세스합니다. Wi-Fi를 사용하지 않을 때 다운로드에 1 ~ 2 분이 소요되기 때문에 사용자가 원하는 곳에 Activity에 도착하기 전에 다운로드를 시작하여 기다릴 필요가 없습니다. .활동 사이에 asynctask 공유
AsyncTask가 가장 좋은 방법 인 것처럼 보였지만, 다음 활동 (내 이해)이 AsyncTask 자체의 진행 상태를 확인할 수 없다는 것을 깨달았습니다. 그들이 할 수있는 최선의 작업은 계속 확인하는 것입니다. 파일을 읽을 수 있는지 확인하십시오 ...하지만 작업이 계속 실행 중이거나 네트워크 연결이 끊어져서 다시 시도해야하는 경우 어떻게해야합니까?
비동기식으로 AsyncTask를 다시 작성하고 곧 완료 될 경우 파일을 다시 다운로드하는 것은 낭비처럼 보입니다.
향후 활동에서 AsyncTask (특히 상태)에 액세스 할 수있는 방법이 있습니까? 아니면 내가보아야 할 더 나은 패러다임이 있습니까?
'서비스'의 백그라운드 스레드에 대해서는 'IntentService'를 고려하십시오. – CommonsWare
IntentService가 보이지만 서비스 상태를 확인할 방법이 없습니다. 알림을 보낼 수는 있지만 UI 스레드가 계속 실행 중인지 확인하려면 어떻게해야합니까? – Turnsole