[英]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.