我的使用情況如下:安卓:儘管在之前的活動調用完成()獲取意向書
在活動AI電話:
startActivity(B);
finish();
現在活動的BI的onCreate需要知道的活動,啓動B,所以我不知道,如果在活動BI通話的onCreate(...):
getIntent();
會我甚至能夠得到那個開始活動B的意圖或將getIntent()在這一點上已經retur n null,因爲我在調用startActivity(B)之後立即完成了Activity A?
我的使用情況如下:安卓:儘管在之前的活動調用完成()獲取意向書
在活動AI電話:
startActivity(B);
finish();
現在活動的BI的onCreate需要知道的活動,啓動B,所以我不知道,如果在活動BI通話的onCreate(...):
getIntent();
會我甚至能夠得到那個開始活動B的意圖或將getIntent()在這一點上已經retur n null,因爲我在調用startActivity(B)之後立即完成了Activity A?
這裏
Intent intent = new Intent(A.this, B.class);
intent.putExtra("activityStarted", "A");
和在活動B
String started = getIntent().getExtras().getString("activityStarted");
與OP的第一條評論相同,但是最簡單的解決方案。 – 2012-04-04 06:51:50
+1已接受,謝謝 - 該工作。 – AgentKnopf 2012-04-04 10:23:08
在第一活動中使用以下代碼來啓動新活動和重啓方法()來完成活動::
Intent intent = new Intent(ThisActivity.this, NextActivity.class);
intent.putExtra("Key", "Value");
startActivity(intent);
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
finish();
}
第二活動::
String started = getIntent().getStringExtras("Key");
感謝您的回答 - 但是在onRestart中調用finish()的目的是什麼?這不是很危險嗎? – AgentKnopf 2012-04-04 10:22:48
做到了這一點,因爲你想完成當前的活動。所以我做完了你從活動中返回並且不危險 – 2012-04-04 10:37:10
謝謝Agarwal Shankar,它對我的菜單系統很有用 – 2015-05-31 17:18:20
您可以通過caliing傳遞活動名稱intent.putExtra(「AvtiVityName」,「Activity A」) – Nishant 2012-04-04 06:41:59
不值得嘗試一下嗎? lol – Snicolas 2012-04-04 06:44:23
@Nishant:謝謝,我會給你一個 – AgentKnopf 2012-04-04 06:46:16