2013-07-06 34 views
1

形式的活動登錄我打電話是如何從活動區分當前意圖來

Intent intent=new Intent(LogIn.this,BRInfoActivity.class); 

從活動BrActivityList我打電話

Intent intent=new Intent(BRActiviList.this, BRInfoActivity.class); 
intent.putExtra("BRinfo", objBR); 

而現在BRInfoActivityList

Intent i = getIntent(); 
BrInfoEN objBR=(BrInfoEN)i.getSerializableExtra("BRinfo"); 

現在我想要if(intent == BrActivityList)最後兩行執行否則不行。如何做?

+0

嘗試捕捉putextra作爲包和字符串,如果其他 – Oli

+0

你能給的代碼示例一些行比?@Oli – decoder

回答

3

形式的活動登錄調用this--

Intent intent=new Intent(LogIn.this,BRInfoActivity.class); 
intent.putExtra("call_from","ActivityClass"); 

從活動BrActivityList Call--現在

Intent intent=new Intent(BRActiviList.this, BRInfoActivity.class); 
intent.putExtra("call_from", "BRActivity"); 

,當你的意圖,在if-else的比較 「call_from」 串塊!而已!

+0

不要忘記接受,如果它幫助:) –

1

願這幫助你...

新的意圖來爲onNewIntent(Intent)一部分。原始意圖仍可通過getIntent()獲得。

你把你需要的任何代碼寫入onNewIntent以便用新參數更新UI;可能類似於您在onCreate中所做的操作。

此外,你可能想調用onNewIntentsetIntent(intent),以確保未來的調用getIntent()活動週期內獲得最新的意向數據。

4

如果您將從 startActivityForResult()開始活動。 然後你可以使用getCallingActivity()來打電話。

+0

ü可以給我的代碼的某些行,寫它,如果(條件)?我是新到Android – decoder

+1

在@decoder中,比方說,你的activity的'onCreate()'寫成:getCallingActivity()。getClassName()'。注意:如果你通過'startActivityForResult()'開始第二個活動,那麼這將起作用,否則'getCallingActivity()'將返回'null'。 – azizbekian