gpt4 book ai didi

android - 使用 getApplicationContext() 显示对话框 - BadTokenException : Unable to add window

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:19 24 4
gpt4 key购买 nike

我知道这可能已经在这里讨论过了。但是我仍然很困惑如果我使用 getApplicationContext() 来显示一个 Dialog 会发生什么。

我有一个应用程序使用 getApplicationContext() 创建 AlertDialog.Builder应用程序在显示对话框时崩溃。但是,如果我使用 SomeActivity.this 上下文,它就可以正常工作。

注意:此应用在 Play 商店中已有一段时间并且之前可以正常运行,但不确定从哪个 Android 版本崩溃。

崩溃堆栈跟踪

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
at android.view.ViewRootImpl.setView(ViewRootImpl.java:540)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:286)
at android.app.AlertDialog$Builder.show(AlertDialog.java:951)

最佳答案

But I am still confused what happens if I use getApplicationContext() to display a Dialog.

你炸了。

But if I use SomeActivity.this context it works fine.

正确。 DialogActivity 拥有。 You cannot use an Application, Service, or other Context to show a Dialog .但请注意,您可以使用任何 Context 来启动以对话为主题的 Activity 。

but not sure from which Android version this crashes

Android 1.0,据我所知。

关于android - 使用 getApplicationContext() 显示对话框 - BadTokenException : Unable to add window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23221270/

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