当屏幕关闭时(由于系统屏幕超时)我的应用程序出现了问题,我的应用程序完成了。 我搜索但没有找到有用的东西。 这是一个常见问题还是有问题?
答案 0 :(得分:2)
你不要在onPause中调用finish()。可以出于各种原因调用它(查看文档)。为什么你想在用户切换应用时杀死你的活动?不推荐。 这里有一些帖子,但没有api可用于检测后台应用程序。
How to detect when an Android app goes to the background and come back to the foreground
答案 1 :(得分:0)
我希望当用户完成此活动但不是屏幕thnx
从finish()
中取出onPause()
。将其放在用户离开Activity
的任何位置。因此,假设您的代码启动了新的Activity
,请在finish()
之后添加startActivity()
。
您还可以在android:noHistory
的{{1}}标记中使用标记<activity>
,以便在maifest.xml
开始新的Activity
时将其从堆栈中移除}}。这两种方法都做同样的工作,它只取决于你想要/需要实现它的方式。
屏幕关闭时关闭的原因是因为您的应用程序此时调用了Activity
,因此从该方法中删除该调用将使其在屏幕关闭时不会关闭。