gpt4 book ai didi

Android:有时/在某些设备上只有两个错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:36 26 4
gpt4 key购买 nike

我刚刚将我的第一个应用程序发布到 Google Marketplace 并收到信息,应用程序崩溃了 - 我有两个堆栈跟踪,其中一个例如:

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@45681318 is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:468)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:239)
at abc.de.f.MyTask.onPreExecute(MyTask.java:52)

只有一种可能性可以访问 MyTask 中的 onPreExecute() 方法 - 它不会在模拟器或我的物理设备上崩溃。但它似乎有时会“在野外”崩溃。

要找到原因,您的第一步是什么?

非常感谢,

斯特凡

编辑:

@Override
protected void onPreExecute() {
this.dialog.setMessage(((Activity) listener).getString(R.string.daten_werden_geladen));
this.dialog.show();
}

this.dialog.setMessage 有效,但 show() 无效...:(

最佳答案

看起来您正在更新 UI 或使用已关闭 Activity 的上下文从 onPreExecute() 显示对话框。我猜你的任务执行中存在逻辑错误。在使用上下文更新 UI 之前,您应该检查 Activity 是否正在运行,或者您是否持有对 Activity View 的引用。

编辑:不要使用 Activity 的上下文来获取字符串资源,而是尝试使用应用程序的上下文。

this.dialog.setMessage(((Activity) listener).getApplicationContext().getString(R.string.daten_werden_geladen));

关于Android:有时/在某些设备上只有两个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4367987/

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