Hi onCancel of dialog i want to cancel to server call but i m facing problem that even i cancel the task, it hits my server and modifies the data. How can I resolve this issue ? Below is my code..
private class UserBoardingTask extends AsyncTask { @Override protected void onPreExecute() { progressDialog = new ProgressDialog(getActivity()); progressDialog.setMessage(getResources().getString(R.string.please_wait)); progressDialog.setIndeterminate(false); progressDialog.setCancelable(true); progressDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { if (userOnBoardingTask!= null && userOnBoardingTask.getStatus() != AsyncTask.Status.FINISHED && !userOnBoardingTask.isCancelled()) { userOnBoardingTask.cancel(true); } } }); progressDialog.show(); } @Override protected Void doInBackground(String... urls) { String boardingURL=null; boardingURL= getUrl(); UserOnBoardingDTO userOnBoardingDetailsDTO = AppStateManager.getUserBoardingDetails(); try{ RestAPIManager.putToNSWebService(boardingURL, userOnBoardingDetailsDTO, username, password); } catch (Exception e) { errorMessage=getResources().getString(R.string.unknown_exp); } return null; } @Override protected void onCancelled() { super.onCancelled(); closeProgressDialog(); errorMessage=""; AppStateManager.setUserBoardingDetails(null); userOnBoardingTask=null; } @Override protected void onPostExecute(Void res) { closeProgressDialog(); userOnBoardingTask=null; if(!FieldsValidator.isBlank(errorMessage)){ CommonUtil.showToast(getActivity(),errorMessage); errorMessage=""; return; }