如何知道Android的调用活动 [英] how to know the calling activity in android

查看:154
本文介绍了如何知道Android的调用活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这就是所谓的通过一些其他活动的活动。例如:我有活动1​​,活性2,Activity3。 活动1来电活性2和通参数。 Activity3还呼吁活性2和通参数。

I have an activity which is called by few other activities. For example: I have Activity1,Activity2,Activity3. Activity1 calls Activity2 and pass parameter. Activity3 also calls Activity2 and pass parameter.

现在,根据主叫活性,活性2执行一些任务。 但我怎么知道哪些活动是调用活性2? 有谁能够plz帮助我吗?

Now based on the calling activity, Activity2 performs some task. But how do I know which activity is calling Activity2?? can anybody plz help me??

推荐答案

您可以通过额外的参数的意图,检查活动的价值,并采取相应的行动。

You can pass additional parameter in intent, check the value in activity and act accordingly.

1)定义一个接口或常量类来定义整型常量,以指示调用活动

1) Define an interface or constants class to define integer constants to indicate calling activity

public interface ActivityConstants {
            public static final int ACTIVITY_1 = 1001;
            public static final int ACTIVITY_2 = 1002;
            public static final int ACTIVITY_3 = 1003;
}

2)添加额外的参数意图,同时呼吁活性2。

2) Add extra parameter in intent while calling Activity2.

        Intent act2 = new Intent(context, Activity2.class);
                act2.putExtra("calling-activity", ActivityConstants.ACTIVITY_1);
    // or ActivityConstants.ACTIVITY_3 if called form Activity3
startActivity(act2);

3)检查活性2这额外的参数值,并采取相应的行动。

3) Check the value of this extra parameter in Activity2 and act accordingly..

int callingActivity = getIntent().getIntExtra("calling-activity", 0);

        switch (callingActivity) {
        case ActivityConstants.ACTIVITY_1:
            // Activity2 is started from Activity1
            break;
        case ActivityConstants.ACTIVITY_3:
            // Activity2 is started from Activity3
            break;
        }

这篇关于如何知道Android的调用活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆