首先是实现连续点击返回键时,我们要重写Activity的onKeyDown方法,以捕捉到按键的点击事件,然后我们应该实现连续点击返回键的效果,在第一次点击的时候出现“再次点击退出”的提示,实现代码如下:

public boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK){long secondClick = System.currentTimeMillis();if(secondClick - firstClick > 1000){Toast.makeText(MainActivity.this, "再次点击退出", Toast.LENGTH_SHORT).show();firstClick = secondClick;return true;}else{//此处添加退出整个应用的代码return true;}}return super.onKeyDown(keyCode, event);}

firstClick为long型全局变量。

然后是退出整个应用的处理了,这里我们通过Application来进行处理,首先我们应该自定义一个MyApplication类继承自Application,注意千万不要在忘记在Manifest文件中进行相关的配置,把该文件中的application节点中的name属性的值改成.MyApplication。然后我们应该在MyApplication中定义两个函数,一个是记录我们所有创建过的Activity的的函数,另一个是删除所有创建的Activity的方法。

public void addActivity(Activity activity){list.add(activity);}public void exitApp(){for(Activity ac : list){ac.finish();}}

每当我们创建一个Activity的时候就应该在该Activity的onCreate方法中调用MyApplication中的addActivity方法进行记录,为了保证我们每次添加的activity都是添加在同一个list中,我们要保证每一个Activity中使用的NMyApplication对象都是同一个对象,我们需要对MyApplication进行单利实现,又由于继承自Application的类的构造函数不能私有,搜易在这里我们写一个伪单例

private static MyApplication myApp;public static MyApplication getInstance(){if(myApp == null){myApp = new MyApplication();}return myApp;}


然后再每一个Activity中加入MyApplication.getInstance().addActivity(this);

然后在连续点击的时候加入MyApplication.getInstance().exitApp();语句,即可完全退出程序。


其实,在这里我们也可以不用伪单例来实现,我们直接把list定义成公有的static类型,然后再每个Activity中调用list就行了。


Demo下载地址:http://download.csdn.net/detail/shinilaobababa/6497587






更多相关文章

  1. EventBus第一章:初识,相见,了解,使用
  2. android 情景模式之响铃+震动获取方法
  3. Android——View.inflate()的详细介绍
  4. Android(安卓)WebView 软键盘遮挡输入框问题的解决方法
  5. LayoutInflater的inflate方法使用
  6. android6.0源码分析之AMS服务源码分析
  7. Ubuntu Linux14 64位下在Android(安卓)studio下用gradle编译Andr
  8. Android(安卓)Http协议访问网络
  9. Android使用Service播放音乐

随机推荐

  1. Android中BaseAdapter原理
  2. android vlc 编译流程
  3. android 多点触摸实现图片缩放
  4. Android7.0中文文档(API)-- AlphabetIndexe
  5. android 单元测试 radio group
  6. Android Init Language(android init.rc语
  7. 制作android/cordova splash screen
  8. Android最好用的播放器ExoPlayer的使用及
  9. Android图片的处理类
  10. Android资源汇总贴