首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

$BadTokenException:无法添加窗口--标记null不适用于应用程序- Kotlin

$BadTokenException是一个Android平台上的异常类,表示无法添加窗口的错误。它通常在应用程序尝试在无效的上下文中创建或显示窗口时抛出。

这个异常通常发生在以下情况下:

  1. 当应用程序尝试在Activity已经被销毁或不可见时显示对话框或弹出窗口。
  2. 当应用程序尝试在非UI线程中创建或显示窗口。
  3. 当应用程序尝试在应用程序上下文之外的上下文中创建或显示窗口。

解决$BadTokenException的方法通常包括以下几个方面:

  1. 确保在正确的上下文中创建或显示窗口。例如,在Activity的生命周期方法(如onCreate、onResume)中创建或显示窗口。
  2. 确保在UI线程中创建或显示窗口。可以使用Handler或AsyncTask等机制来确保在UI线程中执行相关操作。
  3. 确保使用正确的上下文对象。例如,使用Activity的上下文而不是Application的上下文来创建或显示窗口。

腾讯云提供了一系列与移动开发相关的产品和服务,可以帮助开发者解决移动应用中的各种问题。以下是一些相关的产品和服务:

  1. 腾讯移动分析:提供移动应用的用户行为分析、错误监控等功能,帮助开发者了解应用的使用情况和性能问题。详情请参考:腾讯移动分析
  2. 腾讯移动推送:提供移动应用的消息推送服务,可以向应用的用户发送通知、消息等。详情请参考:腾讯移动推送
  3. 腾讯移动直播:提供移动应用的实时音视频直播功能,可以在应用中集成直播功能。详情请参考:腾讯移动直播
  4. 腾讯云对象存储(COS):提供可扩展的云存储服务,可以用于存储移动应用中的图片、视频等文件。详情请参考:腾讯云对象存储(COS)

希望以上信息能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Window, WindowManager和WindowManagerService

SOFT_INPUT_IS_FORWARD_NAVIGATION, 是不是有几个很眼熟,就是控制当然页面软键盘的行为的 第二个 type 这个分类的注视有很多,不过大致把type分为3类 应用程序窗口...:type值范围是1~99,Activity就是一个典型的应用程序窗口,type值是TYPE_BASE_APPLICATION,WindowManager的LayoutParams默认type值是TYPE_APPLICATION...子窗口:type值范围是1000~1999,PupupWindow就是一个典型的子窗口,type值是TYPE_APPLICATION_PANEL,子窗口不能独立存在,必须依附于父窗口 系统窗口:type...值范围是2000~2999,系统窗口的类型很多,上面并没有全部列举出来,系统状态栏就是一个典型的系统窗口,type值是TYPE_STATUS_BAR,与应用程序窗口不同的是,系统窗口的创建是需要声明权限的...= null ?

77610

Android中WindowManager与WMS的解析

,作为每个应用程序的基窗口。...最开始本人也有这个疑惑,但是后来想了想所有的窗口无论系统窗口还是第三方app,窗口都是要通过一个类去进行添加允许判断,这里使用aidl是在合适不过的了。...在条件筛选完成之后,剩下的类型都是符合添加的类型,从现在开始就开始对不同的type进行不同的添加。经过多到加工后,将OKAY返回。 如果能从添加窗口的步骤返回,就说明一定是OKAY的。...=、 四、小结 到这里WMS的添加悬浮窗口的流程差不多就过了一遍了。可能有些地方说的不是很细,大家下来可以关注一下个别几个点。整个过程有这么几个需要强调的地方。 函数循环嵌套,共同消费返回值。...异常循环嵌套 个别地方对M和O以上的系统进行了限制 如果在添加悬浮窗的时候使用了不同的type,可能会发生异常:本人拿了一个8.0的手机,分别对窗口type设置为OVERLAY和ERROR。

1.2K30

悬浮窗开发设计实践

,它负责窗口的启动、添加和删除。...,其中有几个经常会用到的变量:type值用于确定悬浮窗的类型,一般设为2002,表示在所有应用程序之上,但在状态栏之下。...TYPE_PHONE,这种类型是用于提供用户交互操作的非应用窗口。...而Android 8.0对系统和API行为做了修改,包括使用SYSTEM_ALERT_WINDOW权限的应用无法再使用一下窗口类型来在其他应用和窗口上方显示提醒窗口:如果需要实现在其他应用和窗口上方显示提醒窗口...view避免重复添加(如果已经添加则首先要移除),然后销毁的时候把FloatWindow各种属性设置成null清理6.2 稳定性设计如何避免窗口移动,移动后松手的瞬间触发了点击事件首先设置一个布尔标记

2.3K40

探索 IntelliJ IDEA 2024.1最新变化:全面升级助力编码效率

用户体验 索引编制期间 IDE 功能对 Java 和 Kotlin 可用 现在,代码高亮显示和补全等基本 IDE 功能可在项目索引编制期间用于 Java 和 Kotlin,这应该会增强您的启动体验。...这项更新不仅可以保证与即将推出的 Kotlin 功能兼容,还会提高代码分析的稳定性,增强 IDE 功能的质量和可靠性,改进应用程序的整体性能。 了解详情....在检查拉取/合并请求分支时,审查模式会自动激活,并在装订区域中显示粉色标记,表明代码更改可供审查。 点击这些标记会弹出一个显示原始代码的弹出窗口,这样您就能快速识别哪些代码已被更改。...有需要您注意的更改时,工具窗口的图标上会出现一个点。 未查看的拉取请求也将用点标记,确保您不会错过代码审查流程中的更新。...我们还更新了窗口的工具栏,添加了一个导入图标,这个图标允许您作为 .exec 文件检索 JaCoCo 报告。

2.5K20

Spring Boot 2.4.4、Spring Cloud 2020.0.2 发布

(#703) 添加对多个默认查询标记的支持。(#684) Spring Cloud Gateway 添加服务实例id Cookie的支持(#2070) HttpClient代理类型是可自定义的。...对Kotlin协同程序的初始支持 Spring Cloud Kubernetes 添加配置用于服务的主端口的功能(#733) 更新Kubernetes-Java-Client至11.0.1(#708)...Bug Fixes 当SQLException无法翻译时,JooqExceptionTranslator将null异常传递给jOOQ #25717 如果配置了多个架构或数据脚本位置,并且在一个位置上找不到资源...ConfigurationMetadataRepository不正确 #25515 Layertools可以提取目标路径之外的条目 #25508 spring的默认fork值-启动:停止出现不一致情况 #25483 当使用配置为过滤器的执行器和控制器时,应用程序无法启动...修复文档中的语法错误 #25411 修复生成信息目标描述中的措辞错误 #25385 Polish HTTP 客户端文档措辞优化 #25371 记录DataSourceBuilder支持的数据源实现 #25333 添加有关应用程序

1.7K20

Jetpack Compose终于能稳定支持Wear OS,并带来了适用于手机和平板的1.2版本更新

例如可下载字体、Lazy grids、窗口插图、嵌套滚动互操作以及更多工具支持,还有针对平板电脑和 Chrome 操作系统的改进。...1.0 版本在去年 7 月份发布,结合 Kotlin 的语言生态,设计了新的声明式 UI 开发范式,旨在与谷歌的 Material Design 系统配合使用。...WindowInsets 类,用于处理屏幕上不可用的区域及其与应用程序窗口的交互,是一个基于 Accompanist 库中先前工作的新类,谷歌用它来试验 Compose 的新功能并填补 API 的空白。...此外,动画支持中添加了缓动曲线,用于实现快速加速和逐渐减速等效果。还有嵌套滚动支持和新的鼠标事件,以及各种错误修复。...“你应该押注 Jetpack......Flutter 对简单的应用来说是很好的选择,但却不适合复杂的场景,”Hacker News 的一位开发者声称。

1.4K20

Android性能优化(一)

这些任务是: 加载并启动应用程序。 启动后立即显示应用程序空白的启动窗口。 创建应用程序进程。 一旦系统创建应用程序进程,应用程序进程就会负责下一阶段。这些阶段是: 1. 创建app对象. 2....启动后立即显示应用程序空白的启动窗口。 创建应用程序进程。 所谓的主题优化,就是应用程序在冷启动的时候(1~2阶段),设置启动窗口的主题。...mPolicy 为 PhoneWindowManager ,控制着启动窗口添加删除和修改。...view : null; } catch (WindowManager.BadTokenException e) { // ignore } catch...WindowManagerService为启动窗口添加一个WindowState对象,真正的将启动窗口显示给用户,并且可以对启动窗口进行管理。

2.5K20

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验

用户体验 索引期间可用于 Java 和 Kotlin 的 IDE 功能 现在,代码突出显示和补全等基本 IDE 功能可在项目索引期间适用于 Java 和 Kotlin,这应该会增强您的启动体验。...此次更新不仅保证了与即将推出的 Kotlin 功能的兼容性,还提高了代码分析的稳定性,从而增强了 IDE 功能的质量和可靠性,并提高了应用程序的整体性能。 了解更多。...其他改进 我们引入了新图标:一个用于新建项目向导 中的 Scala 语言 ,另一个用于视图 |中的 SBT。工具窗口。此外,您还会注意到镶嵌提示的呈现方式有了微妙的增强,包括圆角和改进的对齐方式。...检查拉取/合并请求分支后,审阅模式会自动激活,并且粉色标记出现在装订线中,表示代码更改可供审阅。单击这些标记会显示一个弹出窗口,其中显示原始代码,以便您可以快速识别已更改的内容。...为了您的方便,可以通过添加到运行工具窗口工具栏的 新图标轻松访问 Quarkus Dev UI 。

2.1K10

Window源码分析之Activity篇

前言 Window表示一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么这种效果就需要用到Window来实现...是一个抽象类,具体的实现是PhoneWindow; android系统中,每个界面,对应着一个Window;但其实在android系统中Window也是一个抽象的概念,它是以View的形式存在;在使用中, 无法直接访问...是没有parentWindow的 return new WindowManagerImpl(mDisplay, parentWindow); } 第四步 Window时我们看见的窗口.... // 调用 WMS添加window, 并返回一个结果 用于判定添加的结果 res = mWindowSession.addToDisplay(mWindow, mSeq, mWindowAttributes...; case WindowManagerGlobal.ADD_NOT_APP_TOKEN: throw new WindowManager.BadTokenException

66140

Kotlin 1.2 新特性

现在,使用Kotlin编写的代码,可以在所有的应用程序中(包括后端,浏览器前端和Android移动应用程序)中重复使用。 ?...跨平台 跨平台项目是 Kotlin 1.2 中的一个新的实验性功能,它允许开发者从相同的代码库构建应用程序的多个层——后端、前端和Android应用程序,在这个跨平台方案中,主要包含三个模块。...在Kotlin1.2版本中,使用lateinit修饰符能够用于全局变量和局部变量了,也就是说,二者都允许延迟初始化。...窗口,分块,zipWithNext 为新的扩展Iterable,Sequence以及CharSequence覆盖这些用例如缓冲或批处理(chunked),滑动窗口和计算滑动平均(windowed),和随后的项目的处理对...1.2添加了一些常见的数学运算API。

1.7K100

Android Studio 3.2新功能特性

此外,您可以将动态功能模块添加到您的应用程序项目中,并将其包含在应用程序包中。通过动态交付,用户可以根据需要下载和安装应用的动态功能。...添加视图时, 在“Design”窗口中的视图下方会出现一个设置按钮 。点击此按钮设置设计时视图属性。您可以从各种样本数据模板中进行选择,并指定用于填充视图的样本项目数。...在使用这种新的跟踪配置时,您可以通过在Trace类中安装代码,直观地在Profiler时间线中标记重要的代码例程。...但是请注意,使用V1的项目无法使用通过V2编译的依赖项。...用于保存,加载和管理AVD快照的控件现在位于模拟器Extended controls窗口的“ Snapshots”选项卡中。 本文为翻译,详细内容可通过阅读全文查看。

5.4K10

Spring认证中国教育管理中心-Spring Data MongoDB教程十三

当 Spring Data 检测到具有参数默认值的构造函数时,如果数据存储不提供值(或简单地返回null),它就会使这些参数不存在,因此 Kotlin 可以应用参数默认值。...如果您id在应用程序中指定了一个值,那么 MongoDB 驱动程序会检测到 ObjectId 的转换。如果指定的id值无法转换为 ObjectId,则该值将按原样存储在文档的 _id 字段中。...我们通常建议为基于应用程序的索引控制显式创建索引,因为 Spring Data 无法为在应用程序运行时重新创建的集合自动创建索引。...以下注释可用: @Id:应用于字段级别以标记用于标识目的的字段。 @MongoId:应用于字段级别以标记用于标识目的的字段。接受一个可选FieldType的自定义 id 转换。...@GeoSpatialIndexed:应用于字段级别以描述如何对字段进行地理索引。 @TextIndexed: 在字段级别应用,用于标记要包含在文本索引中的字段。

2.8K20

Android窗口管理分析(3):窗口分组及Z-order的确定总结

FIRST_APPLICATION_WINDOW = 1 开始应用程序窗口 TYPE_BASE_APPLICATION=1 所有程序窗口的base窗口,其他应用程序窗口都显示在它上面 TYPE_APPLICATION...=2 普通应用程序窗口,token必须设置为Activity的token TYPE_APPLICATION_STARTING =3 应用程序启动时所显示的窗口 LAST_APPLICATION_WINDOW...= 99 结束应用程序窗口 一般Activity都是TYPE_BASE_APPLICATION类型的,而TYPE_APPLICATION主要是用于Dialog,再看下子窗口类型 窗口TYPE值 窗口类型...android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application...Z order.jpg 前面分析了窗口分组的时候涉及了两个对象WindowState与Windtoken,但仅限分组,分组无法决定窗口的显示的Z-order,那么再WMS是怎么管理所有窗口的Z-order

2.5K50

使用Kotlin Native技术开发iOS应用

AppCode简介 AppCode是JetBrains公司出品的用于开发Mac OS X以及iOS应用程序的集成开发环境,能够支持Xcode项目的运行和调试功能,并为Swift和Objective-C...创建Kotlin Native项目 Kotlin Native使用Gradle作为默认构建工具,想要在Xcode中编译Kotlin Native项目,需要在项目中添加相关的运行脚本,该脚本调用Gradle...方式创建的iOS项目支持使用Kotlin语言来编写iOS应用程序,如图16-7所示。...,是不会被编译系统识别的,所以需要将“src/main/kotlin”目录标记为项目源码目录才能够被系统识别。...等待项目构建完成,然后选中【edit configurations…】打开项目配置面板并添加Kotlin/Native test”选项来添加测试用例,如图16-12所示。

2K30

Android Studio 3.6 发布啦,快来围观

在编辑器窗口的右上角,现在有三个按钮可用于在查看选项之间切换: 要启用拆分视图,请单击“ 拆分”图标 。 要启用XML源代码视图,请单击Source图标 要启用设计视图,请单击“ 设计”图标 ?...设计编辑器中的缩放和平移控件已移至编辑器窗口右下角的浮动面板。 2.拾色器资源选项卡 为了在使用 XML 或设计工具中的颜色选择器时可以快速更新应用程序中的颜色资源值,IDE现在会填充颜色资源值。...Kotlin支持 以前由 Java 支持的 Android Studio 支持的 NDK 功能,现在 Kotlin 也能够支持了: 从JNI声明导航到 C / C ++ 中的相应实现函数。...Android模拟器现在允许将应用程序部署到支持可自定义尺寸的多个显示器,并可以帮助测试支持多窗口和多显示器的应用程序 。...这些键盘快捷键可能无法在Android Studio中正常工作。 2. Chrome操作系统上的小界面文字 在Chrome操作系统上,文本看起来可能比以前的版本小得多。

8.9K20
领券