在显示对话框之前,我检查 Activity 是否正在完成以避免应用程序崩溃。
if(!activity.isFinishing()){
showDialog();
}
但在某些情况下,它会返回 true 但 Activity 尚未完成,我可以继续使用我的应用程序,但当我尝试显示一个对话框时,它说 Activity 正在完成。
在什么情况下会发生?
最佳答案
我发现了我的问题所在。
检查 if(!activity.isFinishing())
的类是一个 Singletone
并且在某些情况下,当应用程序进入后台时 Activity
已关闭,当应用程序返回前台时,创建了一个新的 Activity
,而旧的 Activity 仍在 Singletone
中并且未更新。
所以我确保 Singletone
在这种情况下更新了 Activity
。
希望对大家有帮助。
关于android - Activity.isFinishing() 返回 true 但错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40650725/