PopWindow Unable to add window -- token null is not valid; is your activity running

本文讨论了在Android应用界面层添加Popwindow时遇到的Java.lang.RuntimeException异常问题,原因在于异步任务导致的activity被销毁。提出了两种解决方案:创建一个监听activity状态的Context变量或在调用show之前判断activity是否正在完成。通过遵循这些建议,开发者可以避免此类异常,确保应用程序稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在应用界面层添加Popwindow ,偶尔会出现
Java.lang.RuntimeException:
unable.to.add.activity.ComponentInfo{com.icitylife.menu/com.icitylife.menu.MainActivity}: android.view.WindowManager$BadTokenException: Unable to add window – token null is not valid; is your activity running?
这种问题,遇到时,查询了网络各位牛人的解决方案,后面发现原来是异步任务的原因,在popwindow调用之前,activity已经被销毁了,导致在popwindow.show时刻,会出现该异常,所以解决方案有两种:

1.创建初始化一个Context 的Context_CurActivity变量,在OnCreate()方法中实例化,在onDestroy()中销毁,这样在使用时,判断Context_CurActivity是否为null,就可以实时监听activity是否变化状态。

2.在调用show之前需要判断activity isFinishing,在页面销毁时记得调用易班任务的cancel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值