나는 이것을 며칠 동안 고치려고했지만 아무 소용이 없다. 각 서비스는 파일을 다운로드 -인터넷이 작동하지 않을 때 다운로드를 중지 하시겠습니까?
- 서비스가 큐에 배치하고 그들이 한 번 에 하나씩 처리됩니다 배열에있는 모든 파일 이름에 대한 서비스 시작이 : 기본적으로 무엇을 내가 뭘하면이있다 나는 휴대 전화에있는 파일을 가끔 인터넷을 다운로드하고있어 특히 WIFI 하나는 페이지가로드되지 않음에 응답 나던 다운로드가 멈추거나지면 서버에서 < == 문제는 여기
입니다 25 %라고 말할 수 있습니다. 이제는 언제 이런 일이 일어나서 서비스를 중단 할 수 있었는지 알아보고 며칠 동안이 일을하려고 노력했지만 아무 것도 작동하지 않습니다. 파일 1 : 다운로드 진행 : 1 1 1 1 1 1 1 2 2 2 2 2 2 2
URL url = new URL(full_url);
HttpURLConnection conexion = (HttpURLConnection)url.openConnection();
//conexion.setConnectTimeout(10000);
conexion.connect();
while ((count = input.read(data)) > 0 && lenghtOfFile > 0){
total += count;
downloadProgress = (int)((total*100)/lenghtOfFile);
Log.e("downloadProgress","" + downloadProgress);
output.write(data, 0, count);
}
이 파일이 다운로드 될 때 나는 보통 무엇을 얻을 : 이것은 내가 지금까지 무엇을 가지고 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 ... 100
다음 파일 2와 비슷한 내용 : 다운로드 진행률 : 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 ... 100
및 파일 3에서 인터넷이 다운됩니다 (단절되지 않고 페이지가로드되지 않음) 그리고 다음과 같이 표시됩니다. 파일 3 : 8 8 8 8 8 9 9 9 9 9 9 9 (인터넷이 다운되면 9시에 멈춤)
서비스가 중단 될 수있는 시간을 확인하는 방법을 추가하려면 어떻게해야합니까?
정말 긴급한 도움이 필요합니다. 시간 내 주셔서 감사합니다.
편집 : 파일을 다운로드하는 동안 인터넷이 멈추었을 때 나타나는 로그입니다. 당신이 볼 수있는 다운로드가 29 %로 간 다음 인터넷 연결이 어떤 예외도 던지지 않는 어떤 식 으로든 응답하지 않게됩니다.
11-16 16:18:39.769: ERROR/totaltotal(24691): 29
11-16 16:18:39.859: ERROR/totaltotal(24691): 29
11-16 16:18:39.869: ERROR/totaltotal(24691): 29
11-16 16:18:39.869: ERROR/totaltotal(24691): 29
11-16 16:18:39.879: ERROR/totaltotal(24691): 29
11-16 16:19:04.119: DEBUG/ConnectivityService(162): reportNetworkCondition(1, 0)
11-16 16:19:04.119: DEBUG/ConnectivityService(162): Inet connectivity change, net=1, condition=0,mActiveDefaultNetwork=1
11-16 16:19:04.119: DEBUG/ConnectivityService(162): starting a change hold
11-16 16:19:05.940: DEBUG/BatteryService(162): update start
11-16 16:19:05.940: DEBUG/BatteryService(162): update start
11-16 16:19:05.950: DEBUG/BatteryService(162): update start
11-16 16:19:07.129: DEBUG/ConnectivityService(162): Inet hold end, net=1, condition =0, published condition =0
11-16 16:19:07.129: DEBUG/ConnectivityService(162): no change in condition - aborting
11-16 16:19:15.959: DEBUG/BatteryService(162): update start
11-16 16:19:15.959: DEBUG/BatteryService(162): update start
11-16 16:19:15.969: DEBUG/BatteryService(162): update start
11-16 16:19:25.979: DEBUG/BatteryService(162): update start
11-16 16:19:25.979: DEBUG/BatteryService(162): update start
11-16 16:19:25.989: DEBUG/BatteryService(162): update start
우선 AsyncTask 또는 threadpool이 아닌 Service에서이 작업을 수행 하시겠습니까? IntentService를 사용하거나 서비스의 스레드를 직접 처리합니까? 서비스 시작 100 번 100 번 다운로드가 나에게 적합하지 않습니다. – yorkw
나는 내 자신의 서비스 구현을 사용하고 있습니다. 다운로드를 보유하고있는 대기열을 제어하는 스레드가 있습니다. 그것은 잘 작동, 그게 문제가 아니에요, prob는 인터넷에 액세스 할 수 없을 때 (네트워크에 연결되어있는 동안) 서비스를 중지하는 방법입니다. – bytebiscuit