如何使用visual studio和xamarin关闭活动android
我在我的项目上有登录,注册和主页。 我使用StartActivity(typeof(Register));
打开注册页面。 当用户已插入数据并单击注册按钮时,我使用StartActivity(typeof(MainActivity));
再次返回登录页面。 当我点击手机上的后退按钮时,它返回注册页面>登录页面>然后退出。 我想在打开新页面后关闭已创建的活动。
我的第二个问题,我有退出按钮,如何使用退出按钮关闭我的应用程序?
我正在使用Visual Studio 2015和Xamarin开发Android应用程序。
调用Finish
将关闭并终止Activity
,它将按预期工作。 删除Avtivity
以便在按下Back按钮时不会出现的更好方法是将该Activity的NoHistory
设置为true。
如果您有LoginActivity
和DashboardActivity
并且您不希望在登录后按下后退按钮时显示LoginActivity
,则可以将LoginActivity的LoginActivity
设置为true,如下所示。
[Activity (NoHistory = true)] public class LoginActivity : Activity { }
您可以使用Finish
方法关闭当前活动:
StartActivity(typeof(MainActivity)); Finish();
要关闭应用程序,只需使用
System.exit(0);
要从导航中删除活动,您可以使用完成关键字:
[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(); } }
对于第二个问题,您可以使用:
System.exit(0);
你在这篇关于android的post中对这个function有一个非常好的解释,你可以用于xamarin android: 关闭Android应用程序
StartActivity(typeof(nameOfActivity)); // add this line Finish();
您无法关闭当前活动中的先前活动。 它只能自己关闭。
但您可以将数据返回到以前的活动。 在上一个活动的事件处理程序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(); } } }
对于你的第二个问题:
只需使用:
上述就是C#学习教程:如何使用visual studio和xamarin关闭活动android分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
System.exit(0);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1017761.html