Skip to main content

iI would like to cancel an asynctaskAsynctask in android but iI have a problem with my implementation :

My code is :

private class SynchroTask extends AsyncTask<Void, Void, Void>{ private volatile boolean running = true;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //INITIALIZATIONS
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (running) {
            //TASK
        }

        return null;
    }

    @Override
    protected void onCancelled(){
        super.onCancelled();
        running = false;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        Intent intent = AccountAddActivity.getIntent(getActivity());
        startActivity(intent);
        getActivity().finish();
        }
    }
}

And :

mSynchroTask = new SynchroTask();

cancelButton.setOnClickListener(new OnClickListener(){

mSynchroTask = new SynchroTask();


cancelButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {

                if (mSynchroTask != null && mSynchroTask.getStatus() != AsyncTask.Status.FINISHED){
                    HDCApplication.hdcAppManager.mSynchroManager.removeAllTask();
                    mSynchroTask.cancel(true);
                    mSynchroTask = null;
                    
                }   
            }

        });

i would like to cancel an asynctask in android but i have a problem with my implementation :

My code is :

private class SynchroTask extends AsyncTask<Void, Void, Void>{ private volatile boolean running = true;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //INITIALIZATIONS
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (running) {
            //TASK
        }

        return null;
    }

    @Override
    protected void onCancelled(){
        super.onCancelled();
        running = false;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        Intent intent = AccountAddActivity.getIntent(getActivity());
        startActivity(intent);
        getActivity().finish();
        }
    }
}

And :

mSynchroTask = new SynchroTask();

cancelButton.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

            if (mSynchroTask != null && mSynchroTask.getStatus() != AsyncTask.Status.FINISHED){
                HDCApplication.hdcAppManager.mSynchroManager.removeAllTask();
                mSynchroTask.cancel(true);
                mSynchroTask = null;
                
            }   
        }

    });

I would like to cancel an Asynctask in android but I have a problem with my implementation :

My code is :

private class SynchroTask extends AsyncTask<Void, Void, Void>{ private volatile boolean running = true;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //INITIALIZATIONS
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (running) {
            //TASK
        }

        return null;
    }

    @Override
    protected void onCancelled(){
        super.onCancelled();
        running = false;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        Intent intent = AccountAddActivity.getIntent(getActivity());
        startActivity(intent);
        getActivity().finish();
        }
    }
}

And :

mSynchroTask = new SynchroTask();


cancelButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {

                if (mSynchroTask != null && mSynchroTask.getStatus() != AsyncTask.Status.FINISHED){
                    HDCApplication.hdcAppManager.mSynchroManager.removeAllTask();
                    mSynchroTask.cancel(true);
                    mSynchroTask = null;
                    
                }   
            }

        });
Source Link

Cancel AsyncTask in Android

i would like to cancel an asynctask in android but i have a problem with my implementation :

My code is :

private class SynchroTask extends AsyncTask<Void, Void, Void>{ private volatile boolean running = true;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //INITIALIZATIONS
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (running) {
            //TASK
        }

        return null;
    }

    @Override
    protected void onCancelled(){
        super.onCancelled();
        running = false;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        Intent intent = AccountAddActivity.getIntent(getActivity());
        startActivity(intent);
        getActivity().finish();
        }
    }
}

And :

mSynchroTask = new SynchroTask();

cancelButton.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

            if (mSynchroTask != null && mSynchroTask.getStatus() != AsyncTask.Status.FINISHED){
                HDCApplication.hdcAppManager.mSynchroManager.removeAllTask();
                mSynchroTask.cancel(true);
                mSynchroTask = null;
                
            }   
        }

    });
default