我想知道是否顯示我的活動,因爲用戶在其他活動上按下了 。在生命週期中,我無法識別任何強大的給我的信息的回調 。確定活動是否因後退導航而到達
onRestart()
不起作用。如果將應用任務帶到前面,它也會觸發。 onResume()
不會出於同樣的原因。
我想有一個簡單的解決方案,但在Android中,據說簡單的事情可能是非常討厭的。
我想知道是否顯示我的活動,因爲用戶在其他活動上按下了 。在生命週期中,我無法識別任何強大的給我的信息的回調 。確定活動是否因後退導航而到達
onRestart()
不起作用。如果將應用任務帶到前面,它也會觸發。 onResume()
不會出於同樣的原因。
我想有一個簡單的解決方案,但在Android中,據說簡單的事情可能是非常討厭的。
用startActivityForResult(Intent, int)
打電話給您的第二個活動,然後在第二個活動中覆蓋onBackPressed()
,並使其setResult()
到RESULT_CANCELED
。最後,在onActivityResult()
有第一個活動。
代碼例如:
活動1:
Intent i = new Intent(Activity1.this, Activity2.class);
startActivityForResult(i, 0);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_CANCELED) {
// user pressed back from 2nd activity to go to 1st activity. code here
}
}
}
活動2:
@Override
public void onBackPressed() {
setResult(RESULT_CANCELED);
finish();
}
研究[此答案](HTTP://計算器。 com/a/10493384/779408) – breceivemail
這有點晚,但爲什麼不重新啓動?這個對我有用? – osrl