我有3项活动。 A,B和C.从A到C和B到C.我如何从活动C中找出之前加载的活动并参考此活动。
答案 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();
}