Activity的LaunchMode和退出应用程序

  • 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);
        }
    以上就是退出应用程序的一些小方法了,大家可以亲手去试试哦。

     

你可能感兴趣的:(Activity的LaunchMode和退出应用程序)