Synchronous startActivityForResult - Waiting for Activity to Complete

Viewed 13700

I have an application where I am launching a new Activity, and need to have the result of the activity before proceeding.

I realize that startActivityForResult is asynchronous / non-blocking, and that I can get the result of the activity in the onActivityResult callback.

So I guess what I'm looking for is the best way to wait for the activity to return... Something like this perhaps? Or is there a better way?

Activity Launcher Function:

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;
}

Callback:

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

The data needs to be returned to a higher level calling function - this is why I need to wait for the result in the ActivityLauncher function.

Thanks!

2 Answers
Related