Android Java上传图片,然后等待完成asynctask

时间:2018-02-05 19:16:52

标签: java android android-asynctask

我正在使用AndroidStudio(Java),我将数据发布到URL并上传一些图像。这个过程没问题。问题是任务是异步的,所以它在验证其他东西后完成。 这是代码:



boolean ImgSubidasOK = true;
...

btnSubirFotosSistema.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            ...
              SubeFotografia(parametro1, parametro2);
              if (ImgSubidasOK){
                 //doSomething, ACTIVITY 1
              }
              else {
                  //doSomething, ACTIVITY 2
                   }
            ...
            }
}
...

public void SubeFotografia(final String parametro1, final String parametro2) {
...

    PostResponseAsyncTask task = new PostResponseAsyncTask(MainActivity.this, postData, new AsyncResponse() {
    @Override
    public void processFinish(String s) {
        if (s.contains("uploaded_success")){
            //IMAGE UPLOAD SUCCESSFUL
        }
        else {
             ImgSubidasOK = false;
             //ERROR UPLOAD IMAGE
             }
      }
    });
    String URLFinal = "https://URLASUBIRIMAGENES.php";
    task.execute(URLFinal);

...

}




所以我想得到 processFinish 的结果,然后结束这个功能   SubeFotografia(parametro1,parametro2); 。 因为我有一个问题,即上传图片时出错,并在完成 SubeFotografia 后设置布尔 ImgSubidasOK = false 。 所以我想完成 SubeFotografia(parametro1,parametro2); FIRST,使用 processFinish 然后检查 if(ImgSubidasOK)

我怎么能用asynctask做到这一点?任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

我解决了。 Changinf这条线 task.execute(URLFinal);

为此: String str_result = task.execute(URLFinal).get();