如何找出已加载的活动

时间:2011-02-16 10:12:04

标签: android android-activity android-intent

我有3项活动。 A,B和C.从A到C和B到C.我如何从活动C中找出之前加载的活动并参考此活动。

2 个答案:

答案 0 :(得分:3)

你可以通过意图捆绑来处理这个问题。基本上在活动A或B中,您按如下方式启动活动C:

Intent launchIntent = new Intent(this, ActivityC.class);
launchIntent.putExtra("originActivity", this.getClass().getName());

在活动C中,您可以像

一样检索它
public class ActivityC extends Activity{
   onCreate(...){
      Intent callingIntent = getIntent();

      String originActivity = callingIntent.getStringExtra("originActivity");

   }
}

现在我将活动名称作为字符串传递,您可以使用常量或类似的东西以更方便的方式包含它。您可以查找here

答案 1 :(得分:1)

如果使用startActivityForResult而不是startActivity启动活动C,则可以访问调用Activity:

像这样开始活动C:

Intent intent = new Intent(this, C.class);
int requestCode = 1; // Or some other integer
startActivityForResult(intent, requestCode);
活动C中的

onCreate(...) {
  String callingClassName = getCallingActivity().getClass().getSimpleName();
}