在 AsyncTask 中,取消然后将 setResult 设置为 Result_Canceled

Inside AsyncTask, cancel then setResult to Result_Canceled

我正在 运行使用 AsyncTask 来处理多个图像。我只能检测到操作应该在 运行 期间 stop/cancel 并且必须终止线程和 return 到先前的意图。如何停止线程 运行ning 和 return 到前一个 activity。到目前为止的代码退出当前循环但继续 运行 并给出错误和不需要的结果

            private class processImagesThread extends AsyncTask<String, Integer, Bitmap> {    
                @Override
                protected Bitmap doInBackground(String... params) {
                for (int i = 0; i < ArrayUris.size(); i++) {
                    if(failCondition){
                        Intent resultIntent = new Intent();               
                        setResult(Activity.RESULT_CANCELED);//normally return ok and a URI
                        this.cancel(true);
                        finish();
                        break;
                    }
                }
                //further processing continues after failcondition
                }
                @Override
                protected void onCancelled()
                {
                    super.onCancelled();
                    Intent resultIntent = new Intent();
                    setResult(Activity.RESULT_CANCELED);

                }
            }

            //previous intent
            public void onActivityResult(int requestCode, int resultCode, Intent data) {
            if(resultCode == RESULT_CANCELED) { //Toast to user}}

我重新编译并 运行 使用日志而不是调试器并且 运行 可以使用现有代码。注意确定是否有局部故障。谢谢 Pavan,"return null" 即使在调试器打开的情况下也完全杀死了线程,但那次我没有去 onpostexecute。