2016-10-26 96 views
1

我從活動B啓動活動A.但是當我發射A時,B被毀壞。 因此A暫時顯示然後被破壞。 即使B被銷燬,我如何保持A活着。 這就是我如何開始一個從B.如何在其父活動被破壞時保持活動狀態

 Intent intent = new Intent(); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     intent.setClass(B.this, A.class); 

     intent.putExtra(key, val); 
     startActivity(intent); 

我已經在清單文件作爲「singleTask」中提到的活性中的launchmode。

請幫助我如何做到這一點。

+0

您將意圖標記爲FLAG_ACTIVITY_CLEAR_TOP,這意味着活動A從堆棧中清除,並且當活動B開始沒有活動記錄A. –

+0

@Divyesh所以你的意思是我應該從上面的代碼中移除Intent.FLAG_ACTIVITY_CLEAR_TOP。 –

+0

是的,你應該刪除標誌。 –

回答

0

因爲標誌Intent.FLAG_ACTIVITY_CLEAR_TOP,Actvity B被破壞,但不影響活動A的生命週期。這意味着如果活動A被破壞,它可能會在其自己的生命週期方法中出現一些錯誤,但它不會鏈接到活動B