2010-12-21 3 views
0

그래서 전화에서 위치 수정을 얻는 중이며 위치를 찾지 못하거나 너무 길면 문제가 발생합니다. 아래는 로딩 화면의 샘플 코드입니다.예외 안드로이드를 던지지 않는 멈추는 스레드

일정 시간이 경과하면 어떻게하면 스레드 (로드 화면)를 멈추게 할 수 있습니까?

lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 

1000, 10f, this);

핸들러 핸들러 = 새로운 핸들러(); 실행 가능 showWaitDialog = new Runnable() { int wait = 0; @Override 공개 무효 실행() { 동안 (LOC == NULL) {

} 
// After receiving first GPS Fix dismiss the Progress Dialog 
dialog.dismiss(); 

}};

// 사용자가 우리가 GPS 신호를 기다리고 있음을 알려 대화 상자를 만들기 대화 = ProgressDialog.show (Weather.this는 "잠시 기다려주십시오 ..." "오는 GPS 데이터 ... ", 사실);

스레드 t = 새 스레드 (showWaitDialog); t.start();

답변

0

백그라운드 스레드를 사용하는 대신 일반 스레드를 사용하여 스레드를 중지하고 Android sdk의 AsyncTask을 사용하면 cancel()을 찾을 수 있습니다.

+0

바로 제가 취소 버튼이있는 로딩 화면을 찾고 계심을 감사드립니다. 다른 사람이 같은 문제가있는 경우이 기사를 발견했습니다. http://labs.makemachine.net/2010/05/android-asynctask-example/ –

관련 문제