android studio中有没有办法从其他几个活动中调用单个活动?

时间:2015-09-03 10:07:53

标签: android android-intent

请帮忙。 我试图从另外两个活动访问一个特定的活动,所以我不会写多个代码。 我从那些不同的活动中发送了相同类型的" putExtra"但是用不同的值来确定它来自的活动来源。

我想如果有人能告诉我我做错了什么。

抱歉,并提前致谢...

2 个答案:

答案 0 :(得分:0)

您不需要发送额外的值来识别调用Activity,这里有一个名为getCallingActivity()的方法可以帮助您。

但如果您通过Activity

调用了startActivityForResult(),它只会返回非空值

以下是示例代码:

ComponentName callingActivity = getCallingActivity();
if (callingActivity != null)
{
    String activityName = callingActivity.getShortClassName();
    if (activityName.endsWith("INVOKING_ACTIVITY_NAME"))
    {
        //do stuff
    }
}

答案 1 :(得分:0)

这是你要找的吗?

<强>活性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)

<强> DestinationActivity

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
        }

等。