如何查找在android中打开当前活动的最后一个活动?

Dha*_*dra 39 android android-activity

我有一个活动,可以从更多的4或5个不同的活动开放,所以我可以找到我当前的活动被称为哪个活动...

如有任何想法请帮助我..

Mat*_*lis 43

您可能希望向用于启动活动的意图添加额外内容,以指示意图的来源或请求的内容.

例如:

Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("caller", "MainActivity");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

然后你OtherActivity可以检测到它的"来电者" onCreate:

String caller     = getIntent().getStringExtra("caller");
Class callerClass = Class.forName(caller);
Run Code Online (Sandbox Code Playgroud)

  • 我用过这样的Intent intent = new Intent(this,OtherActivity.class); intent.putExtra("caller",getIntent().getComponent().getClassName()); startActivity(意向); (8认同)
  • 然后在其他活动中我使用String className = getIntent().getStringExtra("Caller")然后使用Class c = Class.forName(className); 所以我可以用它作为我的目的地活动 (6认同)

小智 13

如果你使用startActivityForResult,Android有它的功能:

ComponentName prev = this.getCallingActivity();

  • `getCallingActivity()`方法只有在你将子活动作为`startActivityForResult`启动时才会起作用.如果您将正常开始儿童活动,即.使用`startActivity()`然后`getCallingActivity()`方法将返回null.这在[Android文档](http://developer.android.com/reference/android/app/Activity.html#getCallingActivity())中提到. (35认同)