在android studio中,有没有一种方法可以从几个其他活动中调用单个活动?

在android studio中,有没有一种方法可以从几个其他活动中调用单个活动?,android,android-intent,Android,Android Intent,请帮忙。 我试图从另外两个活动中访问一个特定的活动,所以我不会编写多个代码。 我从这些不同的活动中发送相同类型的“putExtra”,但使用不同的值来标识它来自的活动的来源 我希望有人能告诉我我做错了什么 对不起,先谢谢你 您不需要发送额外的值来标识调用的活动,有一个名为getCallingActivity()的方法可以帮助您 但是,如果您通过startActivityForResult() 以下是示例代码: ComponentName callingActivity = getCallingA

请帮忙。 我试图从另外两个活动中访问一个特定的活动,所以我不会编写多个代码。 我从这些不同的活动中发送相同类型的“putExtra”,但使用不同的值来标识它来自的活动的来源

我希望有人能告诉我我做错了什么


对不起,先谢谢你

您不需要发送额外的值来标识调用的
活动
,有一个名为
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文档,并重新表述您的问题,包括有问题的配置,以便其他人可以查看/帮助确定问题所在