如何使用visual studio和xamarin关闭活动android

nen*_*neo 4 c# android xamarin.android xamarin visual-studio-2015

我在我的项目上有登录,注册和主页.我StartActivity(typeof(Register));用来打开注册页面.当用户已插入数据并单击注册按钮时,我StartActivity(typeof(MainActivity));会再次返回登录页面.当我点击手机上的后退按钮时,它返回注册页面>登录页面>然后退出.我想在打开新页面后关闭已创建的活动.

我的第二个问题,我有退出按钮,如何使用退出按钮关闭我的应用程序?

我正在使用Visual Studio 2015和Xamarin开发Android应用程序.

Sre*_*raj 8

呼叫Finish将关闭并杀死Activity它,它将按预期工作.删除一个更好的方法,Avtivity以便在按下后退按钮时不会出现它将设置该NoHistory活动为真.

如果您有a LoginActivity和a DashboardActivity并且您不希望LoginActivity在登录后按下后退按钮时显示,则可以将NoHistory设置LoginActivity为true,如下所示.

[Activity (NoHistory = true)]
public class LoginActivity : Activity
{
}
Run Code Online (Sandbox Code Playgroud)


小智 7

您可以使用Finish方法关闭当前活动:

StartActivity(typeof(MainActivity));
Finish();
Run Code Online (Sandbox Code Playgroud)

要关闭应用程序,只需使用

System.exit(0);
Run Code Online (Sandbox Code Playgroud)


Orc*_*usZ 2

要从导航中删除活动,您可以使用finish关键字,如下所示:

[Activity(Label = "MainActivity", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity: Activity
{
    protected override async void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        var intent = new Intent(this, typeof(SecondActivity));
        intent.SetFlags(ActivityFlags.NewTask);
        //Navigation to SecondActivity
        StartActivity(intent);
        //delete main activity from navigation
        Finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

对于第二个问题,您可以使用:

System.exit(0);
Run Code Online (Sandbox Code Playgroud)

在这篇针对 android 的文章中,您对这个功能有一个很好的解释,您可以将其用于 xamarin android : 关闭 Android 应用程序