마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

AsyncTask 강제 종료방법

0 추천
쉐어버튼을 누를때 준비시간으로 3초정도를 주고 asynctask를 통해서 다이얼로그 로딩을 보여주고있는데요

뒤로가기 버튼(물리 버튼)을 눌렀을때 onPostExcute를 실행하지 않고 asynctask도 함께 동작을 중지하고 싶은데

무슨 방법이 있나요??
personalnew (500 포인트) 님이 2016년 3월 29일 질문

1개의 답변

0 추천
 
채택된 답변
3초 시간이라는게 sleep 이라면 해당 asynctack 에 interrupt 를 주면 됩니다.

 

대략 아래의 형태인거죠

async = new async() {

void do() {

sleep ();

}

}

 

onbackpressed() {

async.interrupt();

}

 

ps. aysnc task 내에서는 interrpted exception 이 발생합니다.
aucd29 (218,390 포인트) 님이 2016년 3월 29일 답변
personalnew님이 2016년 3월 30일 채택됨
답변 너무 감사합니다. Log로 테스트해본결과 로딩 다이얼로그가 뒤로가기 버튼을 눌렀을때 로딩 다이얼로그를 dismiss 하면서 onbackpressed 함수를 들어가질 않네요.. 로딩 다이얼로그가 나왔을때 백버튼으로 dismiss와 동시에 onPostExecute를 들어가지 않게 하고싶은데요 혹시 방법 없을까요??
dialog 의 dismiss listener 에 예외처리를 추가해보세요
감사합니다 덕분에 해결했습니다 ! ^^
...