如何区分来自两个不同活动的意图?

时间:2020-05-20 11:36:51

标签: java android android-studio android-intent android-activity

我的Android Studio项目中有三个活动,比如活动A,B和C。 活动A和B中每个都有两个按钮。单击它们,我需要切换到活动C。

我的问题是,我该如何区分从A和B到C的两种意图?

3 个答案:

答案 0 :(得分:1)

如果您知道如何通过意图传递数据,为什么不能传递额外的数据来区分

之类的按钮
intent.putStringExtra("Button", "A");

答案 1 :(得分:1)

您可以通过向它们传递不同的数据来区分意图

例如

// Activity 1
Intent one = new Intent(.....,...);
one.putStringExtra("source", "activity_one");
startActivity(one);

//Activity 2
Intent two = new Intent(.....,...);
two.putStringExtra("source", "sctivity_two");
startActivity(two);

目标活动

// May return null
String s = getIntent().getStringExtra("source");

if(s != null && s.equals("activity_one"){
   /// do stuff
}else if(s != null && s.equals("activty_two")){
   /// do stuff
}

答案 2 :(得分:0)

您可以在意向附加中添加一个标志,并检索该标志以标识源活动,例如: 在活动A中:

package:flutter/painting.dart

活动B:

btnA.setOnClickListener{
    val intent = Intent(baseContext, C::class.java)
    intent.putExtra("ORIGIN", "A")
    startActivity(intent)
}

然后进入活动C btnB.setOnClickListener{ val intent = Intent(baseContext, C::class.java) intent.putExtra("ORIGIN", "B") startActivity(intent) }

onCreate()
相关问题