在android studio中,有没有一种方法可以从几个其他活动中调用单个活动?
请帮忙。 我试图从另外两个活动中访问一个特定的活动,所以我不会编写多个代码。 我从这些不同的活动中发送相同类型的“putExtra”,但使用不同的值来标识它来自的活动的来源 我希望有人能告诉我我做错了什么在android studio中,有没有一种方法可以从几个其他活动中调用单个活动?,android,android-intent,Android,Android Intent,请帮忙。 我试图从另外两个活动中访问一个特定的活动,所以我不会编写多个代码。 我从这些不同的活动中发送相同类型的“putExtra”,但使用不同的值来标识它来自的活动的来源 我希望有人能告诉我我做错了什么 对不起,先谢谢你 您不需要发送额外的值来标识调用的活动,有一个名为getCallingActivity()的方法可以帮助您 但是,如果您通过startActivityForResult() 以下是示例代码: ComponentName callingActivity = getCallingA
对不起,先谢谢你 您不需要发送额外的值来标识调用的
活动
,有一个名为getCallingActivity()
的方法可以帮助您
但是,如果您通过startActivityForResult()
以下是示例代码:
ComponentName callingActivity = getCallingActivity();
if (callingActivity != null)
{
String activityName = callingActivity.getShortClassName();
if (activityName.endsWith("INVOKING_ACTIVITY_NAME"))
{
//do stuff
}
}
这就是你要找的吗 活动1
Intent i = new Intent(Activity1.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act1")
startActivity(i)
活动2
Intent i = new Intent(Activity2.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act2")
startActivity(i)
目的性活动
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras != null) {
if(extras.getString("OriginActivity").equals("Act1")){
// you came from Activity 1
}else if(extras.getString("OriginActivity").equals("Act2")){
// you came from Activity 2
}
等等。您唯一关心的是检查哪个活动调用了您的公共活动吗?请首先检查AS文档,并重新表述您的问题,包括有问题的配置,以便其他人可以查看/帮助确定问题所在