Android错误--Attempted to add application window with unknown token

异常场景:

界面布局最顶层为TabActivity,并且切换到Tab显示Tab页内容的时候,都需要加载存在一定延迟的网络数据。出于用户界面友好的考虑,需要使用ProgressDialog等提示控件。而在使用过程中,则容易产生如标题中的异常。

问题原因:

大致从异常信息中来看, 问题是由于启动ProgressDialog等窗体导致的。其实,简单来想,ProgressDialog需要处于Activity栈的最顶层,所以ProgressDialog.show的context参数必须是最顶层窗体。此时,如果你在Tab页中直接使用this作为其Context则会出现如上错误。

解决方法之一: 

 将context修改成指向最顶层窗体组件,可以通过Activity的getParent方法完成。

原文地址:https://www.cnblogs.com/cc-Cheng/p/3171133.html