android中activity连按两次返回键退出功能
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2015-11-19 03:16:26
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
直接写一个基类BaseActivity.java其它Activity都继承它就可以啦
package com.main; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.view.KeyEvent; import android.widget.Toast; public class BaseActivity extends Activity { boolean isExit; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } else { return super.onKeyDown(keyCode, event); } } public void exit() { if (!isExit) { isExit = true; Toast.makeText(getApplicationContext(), "再按一次退出", Toast.LENGTH_SHORT).show(); mHandler.sendEmptyMessageDelayed(0, 2000); } else { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); System.exit(0); } } Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); isExit = false; } }; protected Dialog onCreateDialog(int id) { switch (id) { case 1: return new AlertDialog.Builder(this) .setTitle("你确定要退出") //.setIcon(android.R.drawable.ic_dialog_alert) .setPositiveButton( "确定", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.exit(0); // TODO Auto-generated method stub } }).setNegativeButton("取消", null).create(); default: return null; } } }