-
1.Activity的启动模式 Fragment
<1>Standard(默认-标准模式)
自己可以启动自己(会创新一个新的Activity)
<2>SingleTop(顶单例模式)
在栈顶只允许有一个相同的Activity
自己不能启动自己
<3>SingleTask(内单例模式)
如果要启动的Activity存在,则干掉要启动的Activity上面的所有的Activity
<4>SingleInstance(全局单例模式)
-
退出应用程序:
-
有关的事件:
-
Activity.onKeyDown();
当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。
默认按下KEYCODE_BACK键后会回到上一个Activity。 -
Activity.onKeyUp():
当某个按键被按下,松开后触发,但不会被任何的该Activity内的任何view处理。
默认没有执行任何操作,只是简单的给一个false作为返回值。 -
连续点击返回键俩次退出程序:
-
根据用户点击俩次的时间间隔去判断是否退出程序;
-
//--------------使用onKeyUp()干掉他-------------- //记录用户首次点击返回键的时间 private long firstTime=0; @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode){ case KeyEvent.KEYCODE_BACK: long secondTime=System.currentTimeMillis(); if(secondTime-firstTime>2000){ Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyUp",Toast.LENGTH_SHORT).show(); firstTime=secondTime; return true; }else{ System.exit(0); } break; } return super.onKeyUp(keyCode, event); }
返回键弹出退出对话框退出:
以上就是退出应用程序的一些小方法了,大家可以亲手去试试哦。@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //点击返回键 if(keyCode==KeyEvent.KEYCODE_BACK){ //声明弹出对象并初始化 AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("提示:"); builder.setMessage("是否退出?"); //设置确定按钮 builder.setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }); //设置取消按钮 builder.setPositiveButton("取消",null); //显示弹窗 builder.show(); } return super.onKeyDown(keyCode,event); }