我在某个 Activity 中遇到了监听器问题。
问题是这个监听器包含一个 alert.show();可以在我们尝试推送新 Activity (然后给出异常)后调用。
例如:我正在 Activity A 中监听来自其他手机的信号。我按下并尝试运行一个新的 Activity B,但由于 alert.show() A 的监听器,程序崩溃了。
ERROR/AndroidRuntime(3573): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@476c21c0 is not valid; is your activity running?
我可以在 A 的监听器中检查此 Activity 是否处于 Activity 状态,然后根据此值显示警报吗?
最佳答案
可能有一种我想不出的更简单的方法,但一种方法是自己实现它。在 onResume()
上,您将成员变量 mIsRunning
设置为 true,在 onPause()
上设置回 false。使用此 bool 值,您应该知道不要在回调中调用 alert.show()
。
关于android - 检查 Activity 是否处于 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934050/