在Xamarin android中双击返回键退出程序的第一种做法

思路就是当用户按下返回键的时间超过两秒就退出,根据Keycode.Back判断用户按下的是返回键,重写这个OnKeyDown

     DateTime? firstTime;        public override bool OnKeyDown(Keycode keyCode, KeyEvent e)        {            if (keyCode == Keycode.Back && e.Action == KeyEventActions.Down)//判断点击的是返回键,并且动作是Down按下            {                if (!firstTime.HasValue || DateTime.Now.Second - firstTime.Value.Second > 2)                {                    Toast.MakeText(this, "再按一次退出", ToastLength.Short).Show();                    firstTime = DateTime.Now;                }                else                {                    Finish();//退出应用程序                }                return true;            }            return base.OnKeyDown(keyCode,e);        }

在Xamarin android中双击返回键退出程序的第二种做法

 

思路就是使用.net的定时器对象Timer,当按下返回键 timer启动,两秒之内再次按下返回键isExit为true,直接退出程序。

  public override bool OnKeyDown(Keycode keyCode, KeyEvent e)        {            if (keyCode == Keycode.Back && e.Action == KeyEventActions.Down)            {                ExitWidthTimer();                return true;            }            return base.OnKeyDown(keyCode,e);        }        private void ExitWidthTimer()        {            bool isExit = false;            Timer time_timer = null; //注意这里使用的用的.net的Timer对象            if (!isExit)            {                isExit = true;                Toast.MakeText(this, "再按一次退出", ToastLength.Short).Show();                time_timer = new Timer();                time_timer.Interval = 2000;                time_timer.Enabled = true;                //定时的2000毫秒到了isExis为true,退出app                time_timer.Elapsed +=delegate{                    isExit = false;                };            }            else            {                Finish();            }        }
 

android中双击退出程序的第三种方法暂时还没想出来,差不多就是利用以上两种方法来实现,代码很简单,关键还是要知道怎么写的。ok,如果你有还有更好的写法和实现方式也可以告诉我哦!不要问为什么老是两秒钟,一般的程序都是两秒,仿佛也是业内默认的一样的

有兴趣的可以关注一下我的微信公众号,分享一些编程相关的经典文章

更多相关文章

  1. WebView Android(安卓)调用js且须要获取返回结果
  2. 自定义progressbar 的思路
  3. android通过网络下载文字和Mp3的例子
  4. 【android】ORMLite框架 的使用方法---给你的数据库操作插上翅膀
  5. Android判断是否有网络连接
  6. Android(安卓)中文API (69) —— BluetoothAdapter[蓝牙]
  7. Android(安卓)编程下 Touch 事件的分发和消费机制
  8. Android(安卓)API中文文档(111) ―― MailTo
  9. Android访问WCF(下篇)-客户端开发

随机推荐

  1. Dex2jar 与 JD-GUI快速反编译Android(安
  2. Android(安卓)开发者 for Flutter (1)Flutt
  3. Android(安卓)消息机制
  4. Android(安卓)消息处理机制(Looper、Handl
  5. 用Xamarin 实现园友的 :Android浮动小球与
  6. Android(安卓)build system ---转
  7. Android来电铃声默认设置的实现方法与怎
  8. android广告赚钱[转]
  9. Android(安卓)开发者在 Android(安卓)Mar
  10. 博文视点大讲堂37期 ——It's Android(安