现在如今Android程序的退出方式五花八门,其中最常用的大致分为两种,第一就是双击退出程序,还有一种就是点击退出弹出一个对话框询问是否退出,下面就简单实现一下第一种,双击退出程序。
做一个小的Demo来简单实现一下:
首先新建一个工程:然后导入一个工具类:
import android.os.Handler;
import android.os.HandlerThread;
/**
* 1.version:
* 2.date:2016/12/15 14:18
* 3.update:2016/12/15.
* 4.autour:张
*/
public class Exit {
private boolean isExit = false;
private Runnable task = new Runnable() {
@Override
public void run() {
isExit = false;
}
};
public void doExitInOneSecond() {
isExit = true;
HandlerThread thread = new HandlerThread("doTask");
thread.start();
new Handler(thread.getLooper()).postDelayed(task, 1000);
}
public boolean isExit() {
return isExit;
}
public void setExit(boolean isExit) {
this.isExit = isExit;
}
}
然后在Main类里面调用这个工具类,最后写上两个方法,如下:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Exit exit = new Exit();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
pressAgainExit();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void pressAgainExit() {
if (exit.isExit()) {
finish();
} else {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exit.doExitInOneSecond();
}
}
}
写好的朋友可以运行试一下效果,就是这么简单,另外一种退出方式会在以后奉上。
代码地址:http://download.csdn.net/detail/lanrenxiaowen/9721311