Synchrone startActivityForResult - dans l'Attente de l'Activité pour Compléter

J'ai une application dans laquelle je suis en train de lancer une nouvelle Activité, et nécessité d'avoir le résultat de l'activité avant de continuer.

Je me rends compte que startActivityForResult est asynchrone /non-blocage, et que je peux obtenir le résultat de l'activité dans le onActivityResult de rappel.

Donc je suppose que ce que je cherche est le meilleur moyen d'attendre pour l'activité de revenir...
Quelque chose comme ceci peut-être? Ou est-il un meilleur moyen?

Activité Lanceur Fonction:

public String ActivityLauncher()
{
   //Set up Intent
   startActivityForResult(intent, 1);
   while (mIsActivityDone == false)
   {
       Thread.Sleep(250);
   }
   //Continue with processing
   String data = "<Data from Activity">
   return data;
}

Rappel:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
   //Pull out the data
   mIsActivityDone = true;
}

Les données doit être renvoyé à un niveau supérieur d'appel de la fonction - c'est pourquoi j'ai besoin d'attendre le résultat de la ActivityLauncher fonction.

Merci!

OriginalL'auteur J J | 2011-06-14