2012-12-11 3 views
4

J'ai TabActivity et chaque onglet a ActivityGroup. Dans Forth Tab ForthActivityGroup a une classe MyAsyncActivity. Dans MyAsyncAcitivity, j'ai ce code. J'ai ce code Android AsyncTask. doInBackground (String .. params) s'appelle et est imprimé sur Android 2.3.3 mais n'est pas imprimé sur Android 4.0. S'il vous plaît SomeBody Give Me Idea ce que je fais?AsyncTask fonctionne sur Android 2.3.3 mais pas sur 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 –

Répondre

3

Cette utilisation:

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); 
} 
Questions connexes