2014-06-17 2 views
0

asynktask가 완료되면 닫을 애플리케이션이 있습니다. AsyncTask를위한ASynkTask의 Android 애플리케이션 종료

코드

class PobieranieOpisuHotelu extends AsyncTask<String, String, String> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 

    } 

    @Override 
    protected String doInBackground(String... args) { 
     // TODO Auto-generated method stub 
     // Check for success tag 
     int success; 

     // Building Parameters 
     List<NameValuePair> params = new ArrayList<NameValuePair>(); 

     // ID HOTELU DO ZMIANY 
     params.add(new BasicNameValuePair("hId", "3")); 

     // Posting user data to script 
     JSONObject json = jsonParser.makeHttpRequest(DESC_URL, "POST", 
       params); 
     try { 
      // json success element 
      success = json.getInt(TAG_SUCCESS); 
      if (success == 1) { 
       Log.d("Desc Downloaded!", json.toString()); 
       finish(); 
       // return json.getString(TAG_MESSAGE); 
       OpisHotelu = json.getString(TAG_MESSAGE); 

      } else { 
       Log.d("Download Failure!", json.getString(TAG_MESSAGE)); 
       // return json.getString(TAG_MESSAGE); 

      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

     return null; 

    } 

    protected void onPostExecute(String file_url) { 
     if (file_url != null) { 
      Log.d("opis_hotelu", OpisHotelu); 
      tvOpisHotelu.setText(OpisHotelu); 

     } 
    } 
} 
내 활동은 한 OnCreate가

이 asynk ...

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_screen); 

    // Buttons 
    btnViewProducts = (Button) findViewById(R.id.btnViewProducts); 

    // view products click event 
    btnViewProducts.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 
      // Launching All products Activity 
      Intent i = new Intent(getApplicationContext(), 
        AllProductsActivity.class); 
      startActivity(i); 

     } 
    }); 

    tvOpisHotelu = (TextView) findViewById(R.id.textView1); 

    ttt = (Button) findViewById(R.id.tttt); 
    ttt.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      new PobieranieOpisuHotelu().execute(); 

     } 
    }); 

} 

내가 전화입니다 새 PobieranieOpisuHotelu() 실행().; 버튼을 누르면 LogCat에서 아무런 오류도 볼 수 없지만 응용 프로그램이 닫히면 끝납니다. 그 라인에서

06-17 13:13:39.430: D/request!(2265): starting 
06-17 13:13:39.610: D/dalvikvm(2265): GC_FOR_MALLOC freed 4457 objects/205112 bytes in 55ms 
06-17 13:13:41.730: D/Login attempt(2265): {"message":"Logowanie zakończone pomyślnie!","success":1} 
06-17 13:13:41.730: D/Login Successful!(2265): {"message":"Logowanie zakończone pomyślnie!","success":1} 
06-17 13:13:45.130: D/Desc Downloaded!(2265): {"message":"testowy opis hotelu aasddwqrqw","success":1} 
+1

가) ('마무리를 제거, 당신의'doInBackground에서' (...)'그리고'OpisHotelu String'을 반환합니다 –

+0

Y는 전화를합니다 finish() –

답변

0

제거 마무리() :

if (success == 1) { 
      Log.d("Desc Downloaded!", json.toString()); 
      finish(); 
      // return json.getString(TAG_MESSAGE); 
      OpisHotelu = json.getString(TAG_MESSAGE); 

     } 

이 코드가 inteneded대로 작동하기 때문에 오류가없는 ...

+0

감사합니다! – user3748197

관련 문제