2012-06-07 31 views
0

我已經與3個活動Android的活動週期衝突

LoginActivity 
ActivityA 
ActivityB 

用戶與LoginActivity啓動的應用程序。成功登錄後,他轉到ActivityA。 ActivityA使用startActivityForResult調用ActivityB,並使用onActivityResult處理響應。

如果用戶按下「家」從ActivityA或ActivityB按鈕,將重新啓動應用程序,我想利用用戶返回到LoginActivity

我試着用onRestart和的onResume玩耍。當ActivityA通過主屏幕或onActivityResult(當用戶從​​ActivityB返回時)重新初始化時,這兩個都會被調用。

我該如何執行此要求? PS:我檢查了類似的問題,沒有找到符合我的要求的東西。

謝謝。

回答

0

我會將您重定向到這個問題here。我認爲它應該回答你的問題。

0

當您聲明您的意圖啓動活動A和活動B時,請嘗試使用nohistory標誌,例如

Intent intent = new Intent(this, ActivityA.class); 

// do not keep this intent in history 
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 

startActivity(intent); 

然後當您重新啓動時,它將返回到登錄活動。

+0

這並沒有解決OP問起的問題... –

0

嘗試在你的AndroidManifest文件寫這篇每個活動

<activity android:launchMode="singleTask" 
     android:name=".LoginActivity" /> 

<activity android:launchMode="singleTask" 
     android:name=".ActivityA" /> 

<activity android:launchMode="singleTask" 
     android:name=".ActivityB" />