Android获得之前的活动

tin*_*nti 44 android android-activity

我有2个活动:Activity1Activity2.在每个活动中都有一个按钮,可以引导我进行第三个活动(MainActivity).在MainActivity我想知道从哪个活动页面调用.

Lal*_*ani 49

您可以使用Intent的putExtra属性来传递Activity的名称.

呼叫活动,

Intent intent = new Intent(this, Next.class);
intent.putExtra("activity","first");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

下一个活动,

Intent intent = getIntent();
String activity = intent.getStringExtra("activity");
Run Code Online (Sandbox Code Playgroud)

现在,在字符串活动中,您将获得其来自哪个Activity的名称.


bri*_*tey 17

您可以使用:

public ComponentName getCallingActivity()
Run Code Online (Sandbox Code Playgroud)

知道哪个活动叫你当前Activity.

  • 只有在使用`startActivityForResult()`而不是`startActivity()`启动激活时才有效. (29认同)

Chr*_*han 6

使用putExtra()来标识以前的活动.

Intent i = new Intent(Activity1.this, MainActivity.class).putExtra("from", "activity1");
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

要检查主要活动中的活动,

if(getIntent().getStringExtra("from").equals("activity1")){
//From Activity 1
}else {
// Activity 2
}
Run Code Online (Sandbox Code Playgroud)