2012-12-11 3 views
4

TabActivity가 있고 각 탭에 ActivityGroup이 있습니다. Forth 탭에서 ForthActivityGroup에는 MyAsyncActivity 클래스가 있습니다. MyAsyncAcitivity에는이 강령이 있습니다. 이 Android 비동기 작업 코드가 있습니다. doInBackground (String .. params)가 호출되어 Android 2.3.3에서는 인쇄되지만 Android 4.0에서는 인쇄되지 않습니다. 제발 제 아이디어는 제게 뭘 해주죠?AsyncTask는 Android 2.3.3에서 작동하지만 ICS에서는 작동하지 않습니다.

public class getXML extends AsyncTask<String, Integer, String>{ 
     private final ProgressDialog dialog = new ProgressDialog(this); 

     @Override 
     protected void onPreExecute() { 
      this.dialog.setMessage("Loading..."); 
      this.dialog.show(); 
     } 

     @Override 
     protected String doInBackground(String... params) { 
      Log.d("Payment", "do background"); 

      return "result"; 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      if (this.dialog.isShowing()) { 
       this.dialog.dismiss(); 
      } 

    } 
+2

http://stackoverflow.com/questions/13080367/android-async-task-behavior-in-2-3-3-and-4-0- os –

+0

http://stackoverflow.com/questions/11865821/app-doesnt-work-on-4-0-3-but-it-works-on-2-3-3 –

답변

3

사용이 :

AsyncTask task = new YourTask(); 
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) { 
    task.execute(params); 
} else { 
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); 
} 
관련 문제