我有3项活动。当我通过startActivity
从一个活动转到另一个活动时,我怎么知道我开始的活动,它开始的活动是什么?
答案 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
}
}
如果您更改活动名称,我们会使用整数作为密钥而不是活动名称。