how to close activity android using visual studio and xamarin
我在我的项目上有登录,注册和主页。 我用
当我点击手机上的后退按钮时,它返回注册页面>登录页面>然后退出。 我想在打开新页面后关闭已创建的活动。
我的第二个问题,我有退出按钮,如何使用退出按钮关闭我的应用程序?
我正在使用Visual Studio 2015和Xamarin开发Android应用程序。
调用
如果您有一个
1 2 3 4 | [Activity (NoHistory = true)] public class LoginActivity : Activity { } |
您可以使用
1 2 |
要关闭应用程序,只需使用
1 | System.exit(0); |
1 2 3 |
要从导航中删除活动,您可以使用完成关键字:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [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(); } } |
对于第二个问题,您可以使用:
1 | System.exit(0); |
你在这篇关于android的帖子中对这个功能有一个非常好的解释,你可以用于xamarin android:
关闭Android应用程序
您无法关闭当前活动中的先前活动。它只能自己关闭。
但您可以将数据返回到以前的活动。在上一个活动的事件处理程序OnActivityResult中,您可以执行关闭操作。
此示例对您有所帮助。 https://code.msdn.microsoft.com/How-to-close-activity-d51941c8
下面的代码显示了如何关闭以前的活动。
在之前的活动中:
1 2 3 4 5 |
在当前活动中:
1 2 3 4 5 6 7 |
并回到之前的活动:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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(); } } } |
对于你的第二个问题:
只要用这个:
1 | System.exit(0); |