gpt4 book ai didi

android - 错误 : BinderProxy@45d459c0 is not valid; is your activity running?

转载 作者:IT老高 更新时间:2023-10-28 12:59:13 27 4
gpt4 key购买 nike

这是什么错误...我在stackoverflow社区中没有找到任何关于这个错误的讨论详细:-

10-18 23:53:11.613: ERROR/AndroidRuntime(3197): Uncaught handler: thread main exiting due to uncaught exception
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@45d459c0 is not valid; is your activity running?
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.ViewRoot.setView(ViewRoot.java:468)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.Window$LocalWindowManager.addView(Window.java:424)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.app.Dialog.show(Dialog.java:239)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at com.vishal.contacte.Locationlistener$MyLocationListener.onLocationChanged(Locationlistener.java:86)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:179)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:112)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:128)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.os.Looper.loop(Looper.java:123)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.app.ActivityThread.main(ActivityThread.java:4363)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at java.lang.reflect.Method.invokeNative(Native Method)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at java.lang.reflect.Method.invoke(Method.java:521)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at dalvik.system.NativeStart.main(Native Method)

最佳答案

这很可能是因为您试图在后台线程执行后显示一个对话框,而 Activity 正在被销毁。

当调用对话框的 Activity 尝试显示对话框时由于某种原因完成时,我偶尔会看到一些应用程序报告此错误。这是为我解决的问题:

if(!((Activity) context).isFinishing())
{
//show dialog
}

几年来,我一直在使用它来解决旧版本 Android 上的问题,从那以后就再也没有看到过崩溃。

2021 年更新

在一些评论中指出,盲目地将 Context 强制转换为 Activity 是不好的。我同意!

当我这些天在 Fragment 中编写类似的代码时(在提供原始答案后 8 年多),我会这样做:

if (!requireActivity().isFinishing) {
// show dialog
}

主要内容是,在宿主 Activity 被终止后尝试显示对话框或更新任何 UI 将导致崩溃。尽你所能通过在你的 Activity 被终止时终止你的后台线程来防止这种情况发生,或者至少使用此处的答案来阻止你的应用程序崩溃。

关于android - 错误 : BinderProxy@45d459c0 is not valid; is your activity running?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com