2012-04-04 7 views
0

私のユースケースは、次のとおりです。アクティビティAIコールでアンドロイド:次のように仕上げを呼び出すにもかかわらず、テントを取得()以前の活動に

startActivity(B); 
finish(); 

今活動BIののonCreateに知っておく必要がありますすでに

getIntent(); 

私も活動BまたはだろうgetIntentを(開始意図を得ることができるだろう)、その時点で:Bを始めたので、私は活動BIコールののonCreate(...)であれば不思議活動後退startActivity(B)を呼び出した直後にActivity Aを終了したため、nullになりましたか?

Intent intent = new Intent(A.this, B.class); 
intent.putExtra("activityStarted", "A"); 

と新しい活動と再開方法()を起動するためのコードの下の最初のアクティビティの使用において、活性B

String started = getIntent().getExtras().getString("activityStarted"); 
+2

calenting intent.putExtra( "AvtiVityName"、 "Activity A")によってアクティビティ名を渡すことができます – Nishant

+1

試してみる価値はありませんか? lol – Snicolas

+0

@Nishant:ありがとう、私はショット – AgentKnopf

答えて

5

アクティビティ::

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"); 
+0

OPの最初のコメントと同じですが、もっとも簡単な解決策です。 –

+0

+1&Accepted、ありがとう - それは仕事をします。 – AgentKnopf

1

ここ

+0

あなたの答えをありがとう - しかし、onRestartでfinish()を呼び出す目的は何ですか?それはむしろ危険なのではないか? – AgentKnopf

+0

あなたは現在の活動を終了したいと思っています。だから私はあなたが活動から帰ってきて、それが危険ではない –

+0

ありがとうAgarwal Shankar、それは私のメニューシステムに便利です –

関連する問題