在我的 MainActivity 中,我像那样覆盖了 OnBackPressed() 方法
public override void OnBackPressed()
{
Toast toast = Toast.MakeText(this, "Press again to exit", ToastLength.Short);
toast.SetMargin(0,0.20f);
toast.Show();
}
当用户在 MainActivity 中并单击后退按钮一次时,屏幕上会出现消息“再次按下以退出”,此消息会在几秒钟后消失。如果用户在屏幕上显示此消息时再次单击后退按钮,我希望应用程序退出,但是当消息消失并且用户单击后退按钮时,我希望该消息再次出现。我看过一些用 Java 执行此操作的示例,但我发现很难使这些示例适用于 Xamarin.Android。
最佳答案
这段代码工作正常。
long lastPress;
public override void OnBackPressed()
{
// source https://stackoverflow.com/a/27124904/3814729
long currentTime = DateTime.UtcNow.Ticks / TimeSpan.TicksPerMillisecond;
// source https://stackoverflow.com/a/14006485/3814729
if (currentTime - lastPress > 5000)
{
Toast.MakeText(this, "Press back again to exit", ToastLength.Long).Show();
lastPress = currentTime;
}
else
{
base.OnBackPressed();
}
}
如果您想使用较短的 toast 长度,请更改时间。
ToastLength.Long = 3500(毫秒)
ToastLength.Short = 2000(毫秒)
关于android - 单击后退按钮两次时如何使 Xamarin.Android 应用程序退出(包括单击之间的确认消息)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47866047/