2011-12-12 60 views
0

在我的應用程序中,我檢查是否啓用了gps。如果沒有,我將用戶發送到設置屏幕以啓用GPS。onResume在從設置屏幕返回時提早打電話

在我的onResume函數中,我從服務器請求信息,這有點費時,然後進入我的下一個Activity。我希望用戶在檢索信息時卡在屏幕上。相反,我看到的是應用程序位於收集信息時凍結的「設置」屏幕,然後直接轉到我的下一個「活動」。

protected void onResume() { 
     if(gpsIsOn()) { 
      obtainLocationStuff(); 
      startActivity(new Intent(splashActivity.this, mainActivity.class)); 
     } else { 
      launchCloseDialog(); 
     } 

    super.onResume(); 
} 

如何在用戶實際返回到我的應用程序時啓動onResume?

回答

1

你不能。您必須使用後臺線程進行可能耗時的操作。閱讀關於AsyncTask

交互活動協調不能改變(除非在一些非常罕見的情況下)。如何協調活動描述here。但在這個例子中,一個活動開始另一個這與你所擁有的相反,但仍應該展示規則。

+0

完美。我移動了一些代碼,並讓我的asynctask返回。感謝您的幫助。 –