У меня AsyncTask, и мой прогресс в фоновом режиме находится в бесконечном цикле. Но мне нужно остановить AsyncTask, когда пользователь остановит мое приложение или вернется из моего приложения (мое приложение перейдет на передний план). Как я могу это сделать?
Решение:
private boolean done = false;
private class CurTask extends AsyncTask<String, Void, Object> {
protected Void doInBackground(String... args) {
while(!done){
DefaultCurProgress();
publishProgress();
}
}
protected void onProgressUpdate(Void...unused) {
textCur = (TextView)findViewById(R.id.text_cur);
SharedPreferences myPrefs = MyActivity.this.getSharedPreferences("myPrefs", MODE_PRIVATE);
String prefNameDefaultCur = myPrefs.getString(DefaultCur, "");
textCur.setText(prefNameDefaultCur);
}
}
@Override
public void onPause(){
super.onPause();
done=true;
}
@Override
public void onResume(){
super.onResume();
done=false;
}