我有一個應用程序,我正在啓動一個新的活動,並且需要在繼續之前獲得活動的結果。同步startActivityForResult - 等待活動完成
我意識到startActivityForResult是異步/非阻塞的,我可以在onActivityResult回調中獲取活動的結果。
所以我想我正在尋找的是等待活動返回的最佳方式... 也許這樣的事情?或者,還有更好的方法?
活動啓動功能:
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;
}
回調:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
//Pull out the data
mIsActivityDone = true;
}
的數據需要恢復到一個更高的層次調用函數 - 這就是爲什麼我需要等待結果的ActivityLauncher功能。
謝謝!
同意,只需將「//處理數據的繼續」移動到'onActivityResult()'方法中。如果你需要這樣做幾次,那也沒關係:這就是爲什麼startActivityForResult()需要一個'int requestCode'參數,它返回到'onActivityResult()',所以你知道哪個請求正在返回。 – Joe 2011-06-15 00:20:27
謝謝,我感謝架構的幫助。 – 2011-06-15 00:51:22