您不能在当前活动中关闭以前的活动。只能自行关闭。
但是您可以将数据返回到以前的活动。并且在前一个活动的事件处理程序 OnActivityResult 中,您可以执行关闭操作。
此示例将对您有所帮助。 https://code.msdn.microsoft.com/How-to-close-activity-d51941c8
下面的代码显示了如何关闭以前的活动。
在之前的活动中:
Intent intent = new Intent(this, typeof(RegisterActivity));
//for get result, we should use method StartActivityForResult
//the second param is the request code, it is the ID of this request, it should be >= 0
StartActivityForResult(intent, 1);
在当前活动中:
Intent intent = new Intent(this, typeof(RegisterActivity));
intent.PutExtra("result", "Success");
SetResult(Result.Ok, intent);
Finish();
//when back to login activity, the OnActivityResult event will be trigger.
然后回到之前的活动:
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
//when regester activity retrun data, it will be execute
if (requestCode == 1 && resultCode == Result.Ok)
{
string result = data.GetStringExtra("result");
if (result == "Success")
{
Finish();
}
}
}
第二个问题:
就用这个吧:
System.exit(0);