如何找到当前活动的起始活动(startActivity)?

时间:2016-04-01 14:11:00

标签: android

我有3项活动。当我通过startActivity从一个活动转到另一个活动时,我怎么知道我开始的活动,它开始的活动是什么?

2 个答案:

答案 0 :(得分:1)

只需使用intent并指定父活动,如下所示:

活动A将打开活动B

Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("parent_activity", "activityA");
startActivity(intent);

然后在活动B中,检查捆绑包是否包含parent_activity密钥

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);

        if (getIntent()!= null && getIntent().getExtras().containsKey("parent_activity")) {
            String parentActivity = getIntent().getStringExtra()("parent_activity");
        }
    }

答案 1 :(得分:0)

您可以将父活动的标识符放入您要启动的意图中,并将子活动访问它。

<强> ParentActivity

static final int ACTIVITY_CODE = 1;
...
Intent intent = new Intent(this, ChildActivity.class);
intent.putExtra(KEY_CODE, ACTIVITY_CODE);
startActivity(intent);
...

<强> ChildActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int code = getIntent.getIntExtra(KEY_CODE)
    swith(code) {
    //do something
    }
}

如果您更改活动名称,我们会使用整数作为密钥而不是活动名称。

How get name parent activity in child activity