Android(安卓)再按一次退出程序三种办法
16lz
2022-05-19
在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,如果你有还有更好的写法和实现方式也可以告诉我哦!不要问为什么老是两秒钟,一般的程序都是两秒,仿佛也是业内默认的一样的
有兴趣的可以关注一下我的微信公众号,分享一些编程相关的经典文章
更多相关文章
- WebView Android(安卓)调用js且须要获取返回结果
- 自定义progressbar 的思路
- android通过网络下载文字和Mp3的例子
- 【android】ORMLite框架 的使用方法---给你的数据库操作插上翅膀
- Android判断是否有网络连接
- Android(安卓)中文API (69) —— BluetoothAdapter[蓝牙]
- Android(安卓)编程下 Touch 事件的分发和消费机制
- Android(安卓)API中文文档(111) ―― MailTo
- Android访问WCF(下篇)-客户端开发