首页 > 解决方案 > android活动在调用finish()后继续运行

问题描述

在启动活动中,我想在调用时退出应用程序onStop()如果用户单击主页按钮,关闭屏幕或按下后退按钮,我想停止应用程序

不幸的是,调用finish()没有帮助,即使在退出应用程序后,启动活动继续工作,甚至开始下一个活动

我想提一下,splash.activity 中有一个 asynctask 类,并且在 splash.activity 中还有另一个类jsonfetch(从服务器获取数据并在之后打开下一个活动)我认为这个不会停止,因为退出应用程序时它会打开几秒钟后的下一个活动

标签: android

解决方案


我怀疑您正在从 SplashActivity 导航到您的 MainActivity。

尝试将全局变量 shouldNavigate 添加到您的 SplashActivity 并在调用 onStop() 时将其更改为 false;

private boolean shouldNavigate = true

    @Override
    protected void onStop() {
        shouldNavigate = false;
        super.onStop();   
        finish();
    }

然后在导航到 MainActivity 时进行检查:

if (shouldNavigate){
     // navigate to MainActivity
}

推荐阅读