LJY
136
2019-08-01 13:47:53 작성 2019-08-01 13:50:41 수정됨
1
330

안드로이드 AsyncTask 실행중인데 뒤로가기 누를 때 어떻게 멈춥니까?





@Override 
protected String doInBackground(Void... voids) { 
  if(isCancelled()) { 
    return null; 
 } else {
   String path = createPdf(); 
   return path; 
  }
}



@Override 
protected void onPreExecute() { 
  if (isCancelled()) { 
    return; 
 } 
 else { 
   progressBar = 
   new ProgressDialog(MainActivity.this); 
   progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
   progressBar.show(); 
   super.onPreExecute(); 
} 
} 


이렇게 두 가지 방법을 다 사용해보았는데, 결국 앱이 종료되네요;

심지어 logcat 에도 뭔가 찍히지 않으니 원.... 

안드로이드 스튜디오 고수님들 ㅠㅠ 당최 뒤로가기 눌러서 중지해야할 때 어떻게 코드 짜셨나요?

0
  • 답변 1

  • GAN
    1k
    2019-08-01 15:48:06

    cancel(boolean) 메소드 사용하시면 됩니다.

    https://developer.android.com/reference/android/os/AsyncTask.html#cancel(boolean)


  • 로그인을 하시면 답변을 등록할 수 있습니다.