当我们的程序处于入口页的时候,我们为了防止用户点击了back键而直接退出程序,我们需要在此界面中拦截系统的方法。

常用的两种处理方法:

1. 弹出确认dialog,点击确定后退出程序

public class TestActivity extends Activity {    AlertDialog.Builder builder;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        initDialog();    }    /**     * 初始化好确认退出的对话框     */    private void initDialog() {        builder = new AlertDialog.Builder(this).setIcon(android.R.drawable.btn_star)                .setTitle("这个是标题").setMessage("确定要退出程序吗?")                .setPositiveButton("确定", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        finish();                        dialog.dismiss();                    }                })                .setNegativeButton("取消", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        dialog.dismiss();                    }                });    }    /**     * 重写点击返回建的事件处理,展示 我们写好的dialog     * */    @Override    public void onBackPressed() {        builder.show();    }}

2. 双击退出

即记录两次点击的时间。判断两次点击的时间差在小于多少时候算双击。
public class TestActivity extends Activity {    private long exitTime;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);    }    /**     * 重写点击返回建的事件处理     * */    @Override    public void onBackPressed() {        if ((System.currentTimeMillis() - exitTime) > 2000) {            Toast.makeText(getApplicationContext(), "再按一次退出程序",                    Toast.LENGTH_SHORT).show();            exitTime = System.currentTimeMillis();        } else {            finish();            System.exit(0);        }    }}

更多相关文章

  1. 我的第一个Android程序——HelloWorld
  2. 第一个Xamarin的 Android(安卓)应用程序!
  3. Android(安卓)Studio初体验
  4. 【转】使用Intent将图片或文字分享到新浪微博等程序
  5. android api 中文 (75)―― AdapterView.OnItemClickListener
  6. Android(安卓)退出终止APP的方法总结
  7. Android中Gallery 点击图片放大
  8. Android(安卓)通过initrc控制命令、服务启动时间
  9. Android(安卓)7.1.2(Android(安卓)N) Multi-window-mode--多窗口

随机推荐

  1. android TabHost小结
  2. Android(安卓)NDK 学习之传递类对象
  3. Andrid 控件集合大全
  4. Android(安卓)EditView属性
  5. Android(安卓)数据存储与读取:SQLite
  6. gravity和layout_gravity的区别
  7. 【Android每日一练】Android项目结构详解
  8. 2016年3月1日Android实习笔记
  9. [置顶] Android(安卓)多渠道打包:使用Grad
  10. Android中ImageView和VideoView铺满父元