zoukankan      html  css  js  c++  java
  • 再按一次退出程序

    在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);
    	}

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


  • 相关阅读:
    localStorage
    node开发 npm install -g express-generator@4
    Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目
    WebSocket 教程
    解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
    ThinkPHP5 支付宝 电脑与手机支付扩展库
    apache中通过mod_rewrite实现伪静态页面的方法
    一个PHP文件搞定微信H5支付
    Windows下安装Redis及php的redis拓展教程
    GIT 常用命令
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6832369.html
Copyright © 2011-2022 走看看