AsyncTask에서 Http 요청 중에 사용자가 데이터 연결을 끊는 상황을 처리하려고합니다. 현재 AsyncTask는 이런 일이 발생하고 앱이 그냥 멈 추면 실행을 끝내지 않습니다. 나는 isCancelled()를 체크 할조차 할 수 없다. 왜냐하면 Http 요청은 하나의 함수 호출에서 멈춰 버리기 때문에 루프 나 아무것도 구현할 수 없다.AsyncTask에서 네트워크 호출 취소 중
나는 UI 스레드에서 다음을 사용하고 있지만 작업이 작업 내에서 취소 된 경우 확인하는 방법을 알아낼 수 없습니다 : 처리를 중지하기 위해
task = new LoginTask();
task.execute(this, mUsername, mPassword);
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
if (task != null && task.getStatus() == AsyncTask.Status.RUNNING)
{
task.cancel(true);
}
}
}, 5000);
비동기 작업을 통해 위치를 열기 전에 위치를 핑 (ping) 하시겠습니까? 127.0.0.1을 제외한 다른 인터페이스를 사용할 수 있는지 확인하십시오. – Shark
데이터를받는 방법을 잘 모르지만 대부분의 네트워크/http 호출은 시간 초과 설정을 지원합니다. 예를 들어'HttpConnectionParams '. –
@Shark 전화를 걸기 전에 활성 연결을 테스트하지만 전화 걸기에는 약 5 초 정도 걸리고 사용자는 그 시간에 연결을 끊을 수 있습니다. – ashishduh