再按一次退出程序
2014-05-16 21:11
267 查看
在android程序应用中经常会遇到点击返回键时提示再按一次退出程序。
要实现这个功能需要完成两点:
一、能够彻底退出程序
·之前看到有人用 finish();,其实这样做并不能真的退出程序,这样只是结束当前的Activity,一个程序中是可以有多个Activity的,在android可以彻底关闭进程的方法有好几种。
第一种:
这种方法只能杀死自己的进程。
第二种:
这种方法不仅可以杀死自己的进程还可以杀死其它进程,在实际使用时会有点小问题。
第三种:
这种方法是以前在java中常用的,但不推荐在这里中使用。
除了这三种好像还有其他方法来实现,不过似乎没有什么必要,反而会让人想起孔乙己用4中不同的写法来写茴香豆的茴字。
二、按两次才执行退出程序操作
当然实现点击两次退出操作也有多种操作这里就不一一介绍了。
要实现这个功能需要完成两点:
一、能够彻底退出程序
·之前看到有人用 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); }
当然实现点击两次退出操作也有多种操作这里就不一一介绍了。
相关文章推荐
- 再按一次退出程序
- Android中的“再按一次返回键退出程序”实现
- android中再按一次返回键退出程序
- Android中的“再按一次返回键退出程序”实现
- Android中的“再按一次返回键退出程序”实现
- 多释放一次内存导致程序不会退出??
- Android 再按一次退出程序功能
- 再按一次退出程序
- Android退出程序时的"再按一次退出"实现
- ANDROID 实现 再按一次返回键退出程序 代码片段
- 再按一次退出程序
- android 再按一次退出程序(实现代码)
- Android中的“再按一次返回键退出程序”实现
- Android中的“再按一次返回键退出程序”实现
- Android “再按一次返回键退出程序”实现介绍
- 再按一次退出程序
- android 再按一次退出程序
- Android中的“再按一次返回键退出程序”实现
- Android中的“再按一次返回键退出程序”实现
- Android中“再按一次返回键退出程序”实现