2016-04-01 117 views
0

我有3項活動。當我從startActivity從一個活動轉到另一個活動時,我怎麼能知道我開始的活動,它從哪開始的活動?如何查找當前活動從(startActivity)開始的活動?

+0

的可能的複製【如何獲得兒童活動名稱父活動(http://stackoverflow.com/questions/9885994/how-get-name-parent-activity-in-child-activity) –

回答

2

只需使用意圖,並​​指定這樣父活動:

活動A將隨後在活動B打開活動B

Intent intent = new Intent(this, ActivityB.class); 
intent.putExtra("parent_activity", "activityA"); 
startActivity(intent); 

,檢查包包含parent_activity關鍵

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_display_message); 

     if (getIntent()!= null && getIntent().getExtras().containsKey("parent_activity")) { 
      String parentActivity = getIntent().getStringExtra()("parent_activity"); 
     } 
    } 
+0

查找「parent_activity」權限時,您打算使用'getIntent()'而不是'savedInstanceState'? –

+0

謝謝喬治,我剛修好它 – Mehdi

0

您可以將家長活動的標識符置入您要開始的意圖以及子活動訪問它。

ParentActivity

static final int ACTIVITY_CODE = 1; 
... 
Intent intent = new Intent(this, ChildActivity.class); 
intent.putExtra(KEY_CODE, ACTIVITY_CODE); 
startActivity(intent); 
... 

ChildActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    int code = getIntent.getIntExtra(KEY_CODE) 
    swith(code) { 
    //do something 
    } 
} 

我們使用一個整數的關鍵,而不是活動的名稱,如果你改變你的活動的名稱,你可以少麻煩。

How get name parent activity in child activity