À l'aide de AsyncTask pour démarrer l'activité

Je suis en utilisant asyncTask pour afficher la boîte de Dialogue, puis après quelques minutes, puis le lancement d'une nouvelle activité.

malheureusement que le début de l'activité avant que la tâche est finie ???

package com.android.grad;

import android.app.Activity;

import android.app.ProgressDialog;

import android.os.AsyncTask;

import android.widget.Toast;

public class LoginTask extends AsyncTask<Void, Void, Boolean> {
private Activity activity;
private ProgressDialog pd;

public LoginTask(Activity activity) {
    this.activity = activity;
}

@Override
protected void onPreExecute() {
    pd = ProgressDialog.show(activity, "Signing in",
            "Please wait while we are signing you in..");
}

@Override
protected Boolean doInBackground(Void... arg0) {
    try {
        Thread.sleep(10000000);
    } catch (InterruptedException e) {
    }
    pd.dismiss();
    return true;
}

@Override
protected void onPostExecute(Boolean result) {
    Toast.makeText(activity, Boolean.toString(result), Toast.LENGTH_LONG).show();
}

}

et j'exécute la tâche de cliquez sur le bouton de l'écouteur :S

private OnClickListener loginOnClick = new OnClickListener() {

        public void onClick(View v) {
            new LoginTask(LoginActivity.this).execute();
            startActivity(new Intent(LoginActivity.this, BuiltInCamera.class));
        }
    };

Est-il moyen de startActivity de mon sous-classe ofAsyncTask .

oui, vous devez le démarrer dans votre onPostExecute méthode, juste après que vous montrez votre Toast
la méthode ne peut pas appeler à l'intérieur de onPostExecute
améliorer votre acceptancy taux..

OriginalL'auteur Mahmoud Emam | 2012-05-24