繁体   English   中英

android 活动在调用完成()后继续运行

[英]android activity keep running after calling finish()

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

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

我想提的是里面有一个splash.activity类的AsyncTask并且还有另一个类jsonfetch称为splash.activity(读取距离后,服务器和开放的下一个活动数据),我觉得这一个犯规停止,因为在退出应用程序时,它会打开几秒钟后的下一个活动

我怀疑您是从 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
}

如果您在启动活动中使用倒数计时器,请在onStop()停止它。 它会帮助你。

经过几次测试,我发现 System.exit(0); 为我解决了这个问题,我希望这个解决方案可以帮助任何有同样问题的人

尝试这个

System.exit(0);
try{ 
    finish();
    //code  press backbutton 
    }catch(Exception  e){
}
finally{  //inside  
    System.exit(0);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM