彻底退出所有的Acticity

有时候点击回退键退出应用,会出现有些Activity不能完全退出的情况,那么可以使用前面这个方法:

在需要退出的Activity的onCreate()方法中加入

1 ExitApplication.getInstance().addActivity(this);

然后在监听回退键的方法中

boolean stata;  //true为退出 ,false为不退出
    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //我在这里用到的是自定义窗口,如果使用默认的,请自行百度。
            CustomDialog.Builder builder = new CustomDialog.Builder(this);
            builder.setTitle("是否退出");
            builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    ExitApplication.getInstance().exit(); //重点在这一句
                    stata = true;
                }
            });

            builder.setNegativeButton("不是", new android.content.DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                    stata = false;
                }
            });

            builder.create().show();

        }
        return stata;
    }
时间: 2024-08-08 17:48:51

彻底退出所有的Acticity的相关文章

用代码理解Acticity启动模式

本章内容 Activity 四种启动模式的理论知识 代码理解 Activity 四种启动模式的理论知识 standard 默认模式,可以不用写配置.在这个模式下,都会默认创建一个新的实例.因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加. singleTop 当活动的启动模式指定为 singleTop,在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例,如果不是在栈顶,那么就会再次创建一个实例. singleTask 启动模式为

安全退出调用多个Activity的Application

记录调用的Acticity 使用一个list将打开的Activity都存起来,统一finish(). 发送特定广播 为此App下的Acticity定义一个特定广播,当发送此广播时Activity执行finish(). 通过Activity的启动模式 singleTop以及singleTask可以通过启动栈底的Activity同事将此Activityfinish,便可以退出 在Acitivity的onStart()函数中设置setExit(true) MyApplication mApp = (M

Android App退出检测

app的退出检测是很难的,但是获取app“要退出”的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的. 先见下面的运行效果:  gif做的比价粗啊, 两个activity的界面就不介绍了,主要是在APP启动的时候开启一个服务,application代码如下: public class MyApplication extends Application { @Override public void onCreate() {

通过CLI命令使ESXi主机进入、退出维护模式

1.进入维护模式: 方法一:# vim-cmd /hostsvc/maintenance_mode_enter 方法二:# esxcli system maintenanceMode set --enable yes 方法三:# vimsh -n -e /hostsvc/maintenance_mode_enter 2.退出维护模式:方法一:# vim-cmd /hostsvc/maintenance_mode_exit 方法二:# esxcli system maintenanceMode s

函数一直无法立即退出,在等待了大约30s后才能退出(QMulitHash释放不连续的内存需要很长世间,而这样设置局部变量后又无法避免这个问题)

局部变量使用对性能的影响以及进程的堆和栈: 由于在代码中我使用了QMulitHash<QString , LHFilteVersionItem> tmp;这一局部变量来保存某一目录下的文件,由于在写测试代码期间,我利用循环模拟了50万的数据序列化后保存在文件中,在运行期间我发现读取函数耗费很长的时间,而函数里面最耗时的读取操作也只花费了很短的时间,但是函数一直无法立即退出,在等待了大约30s后才能退出,相关代码如下: [cpp] view plain copy void LHTWORKFLOW

nginx在 window下 自动退出 php-cgi

win32+nginx+php自动挂掉php-cgi.exe    RunHiddenConsole E:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c "E:/wnmp/php5/php.ini"   第一步:下载xxfpm,地址就不提供了,百度搜一下,有很多.       下载好了 第二步:新建一个文本,写上以下代码. RunHiddenConsole.exe H:/Server_Core/xxfpm/bin/xxfpm.exe "

Android设置Activity启动和退出时的动画

业务开发时遇到的一个小特技,要求实现Activity启动时自下向上弹出,退出时自上向下退出. 此处不关注启动和退出时其他Activity的动画效果,实现方法有两种: 1.代码方式,通过Activity的overridePendingTransition接口, 即在startActivity时调用overridePendingTransition(R.anim.push_bottom_in, 0) 在finish时调用overridePendingTransition(0, R.anim.push

ios键盘退出

点击空白处退出键盘 1 -(void)touchesBegan:(nonnull NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event{ 2 [self.view endEditing:YES]; 3 }

登录退出代码

1.登录代码 /// <summary> /// 登陆 /// </summary> /// <param name="userNo"></param> /// <param name="password"></param> /// <param name="persistCookie"></param> /// <returns><