Search code examples
androidandroid-fragmentsandroid-activityandroid-asynctaskonbackpressed

how to cancel the asynchronous task on back press in activity


An activity have three fragments. the third fragment has asynchronous task. how to cancel the asynchronous task on back press in activity.

public void onBackPressed() {

            android.app.Fragment currentVisibleFragment = getFragmentManager().findFragmentById(R.id.container);
            if(currentVisibleFragment != null) {
                String visibleFragmentName = currentVisibleFragment.toString();
                if (visibleFragmentName.contains(LearnToWriteLetterUtils.TAMIL_LEARN_TO_WRITE_FLASHSCREEN)) {

                    Log.d("app finished", "finished");
                    finish();
                } else if (visibleFragmentName.contains(LearnToWriteLetterUtils.TAMIL_LEARN_TO_WRITE_INDEXPAGE)) {
                    Log.d("app finished", "exit");
                    finish();
                } else if (visibleFragmentName.contains(LearnToWriteLetterUtils.TAMIL_LEARN_TO_WRITE_LOADING_SCREEN)){

                    getFragmentManager().beginTransaction().replace(R.id.container, tamilLearnToWriteIndexPage, LearnToWriteLetterUtils.TAMIL_LEARN_TO_WRITE_INDEXPAGE).commit();
                }
            }
    }

Solution

  • Try This:

     public void onBackPressed()
     {
        myTask.cancel(true);
     }