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!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…