android - Activity.isFinishing() 返回 true 但错误

标签 android android-activity activity-lifecycle

在显示对话框之前,我检查 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/

相关文章:

android - 无法在 onItemClick 的 ListView 中使用 findViewById 从 linearlayout 访问 textView

android - 如何从 Android Studio 中完全删除 Android 布局

android - 如何在运行时切换 View ?

android - 启动另一个全屏 Activity 时未调用 Activity 的 onStop()

javascript - 在不使用媒体插件的情况下在Android Cordova Project中播放音频

java - SharedPreferences 返回 null

android - CollapsingToolbarLayout 并在滚动时隐藏工具栏

java - 从 Activity 调用 fragment 时应用程序崩溃

android - onActivityResult 返回后没有得到正确的结果,因为调用它的 Activity 被重新创建了吗?

android - onSaveInstanceState 中的保存接口(interface)(Listener)