private DateTime? lastBackKeyDownTime;

public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
        {
            if (keyCode == Keycode.Back && e.Action == KeyEventActions.Down && e.RepeatCount == 0)
            {
                var backPressed = DateTime.Now;
                var navigation = App.Current.MainPage.Navigation;
                if (navigation.NavigationStack.Count > 1)
                {
                    navigation.PopAsync();
                    OnBackPressed();
                    return false;
                }
                else if (!lastBackKeyDownTime.HasValue || backPressed.Subtract(lastBackKeyDownTime.Value).Seconds > 3)
                {
                    lastBackKeyDownTime = backPressed;
                    var toast = Toast.MakeText(this, "再按一次退出程序", ToastLength.Short);
                    toast.SetGravity(GravityFlags.Center, 0, 0);
                    toast.Show();
                }
                else
                {
                    Finish();
                }
                return true;
            }
            return base.OnKeyDown(keyCode, e);
        }

   public override void OnBackPressed()
   {
            Rg.Plugins.Popup.Popup.SendBackPressed(base.OnBackPressed);
   }

 

相关文章:

  • 2022-01-27
  • 2021-11-06
  • 2022-12-23
  • 2021-11-14
猜你喜欢
  • 2021-12-06
  • 2021-12-06
  • 2021-10-27
  • 2022-12-23
  • 2021-07-11
  • 2022-12-23
相关资源
相似解决方案