再按一次退出程序

在android程序应用中经常会遇到点击返回键时提示再按一次退出程序。

要实现这个功能需要完成两点:


一、能够彻底退出程序

·之前看到有人用 finish();,其实这样做并不能真的退出程序,这样只是结束当前的Activity,一个程序中是可以有多个Activity的,在android可以彻底关闭进程的方法有好几种。

第一种:

				// 获取当前进程的id
				int pid = android.os.Process.myPid();
				android.os.Process.killProcess(pid);

这种方法只能杀死自己的进程。

第二种:

				ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
				am.killBackgroundProcesses(getPackageName());
还需要添加权限

    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

这种方法不仅可以杀死自己的进程还可以杀死其它进程,在实际使用时会有点小问题。

第三种:

System.exit(0);// 终止当前运行的java虚拟机,导致程序终止

这种方法是以前在java中常用的,但不推荐在这里中使用。

除了这三种好像还有其他方法来实现,不过似乎没有什么必要,反而会让人想起孔乙己用4中不同的写法来写茴香豆的茴字。

二、按两次才执行退出程序操作

private long exitTime=0;
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {

		if (event.getKeyCode()==KeyEvent.KEYCODE_BACK) {
			if (System.currentTimeMillis()-exitTime>2000) {
				exitTime=System.currentTimeMillis();
				Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
			
			}else {
				android.os.Process.killProcess(android.os.Process.myPid());
			}
			return true;
			
		}
		return super.onKeyDown(keyCode, event);
	}

当然实现点击两次退出操作也有多种操作这里就不一一介绍了。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值