好的,我找到了一个可行的解决方案,但我猜它很不干净:
当我在活动 X0 内启动活动 A1 时,我将活动 X0 的类型作为字符串(使用标志) .
Intent newActivity = new Intent(this, typeof(A1));
newActivity.PutExtra("endActivity", typeof(X0).Name);
StartActivity(newActivity);
在活动 A1 上,我得到这样的标志:
string endActivityType = Intent.GetStringExtra("endActivity");
然后,当我开始活动 A2 和 A3 时,我一直使用标志将 X0 的类型作为字符串给出:
Intent newActivity = new Intent(this, typeof(A2));
newActivity.PutExtra("endActivity", endActivityType);
StartActivity(newActivity);
一旦我想在我的活动 A3 中返回 X0,我会这样做:
Type typeX0 = Type.GetType("MyAppNamespace." + endActivityType);
Intent intent = new Intent(this, typeX0);
intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
StartActivity(intent);
正如 Kashish 所说。