android - android活动在调用finish()后继续运行
问题描述
在启动活动中,我想在调用时退出应用程序onStop()
(如果用户单击主页按钮,关闭屏幕或按下后退按钮,我想停止应用程序)
不幸的是,调用finish()
没有帮助,即使在退出应用程序后,启动活动继续工作,甚至开始下一个活动
我想提一下,splash.activity 中有一个 asynctask 类,并且在 splash.activity 中还有另一个类jsonfetch
(从服务器获取数据并在之后打开下一个活动)我认为这个不会停止,因为退出应用程序时它会打开几秒钟后的下一个活动
解决方案
我怀疑您正在从 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
}
推荐阅读
- c# - .NET Swagger UI 主要 API 规范
- ruby - Ruby:如何在知道其(数组)路径的哈希中检索值?
- oracle - 18c 符合当前密码 使用相同密码更新到期密码所需的复杂性
- react-native - 排毒挂在显示的模态上
- javascript - Javascript 性能脚本
- reactjs - React Router Link 和 history.push 的区别?
- mysql - 替换图像中所有我的 rev 滑块的 URL 以使用新域
- python - 我们如何将测试用例从 Microsoft 基础服务器 (TFS) 导出为 excel 格式?
- windows - Azure Kinect DK - 释放包含时间戳的捕获/集群已写入磁盘
- c++ - 如何以对静态代码分析友好的方式使用#define 保护?