Android Crash : Unable to add window – token android.os.BinderProxy@f2e0918 is not valid; is your activity running ?
Crash原因:
异步或callback操作Dialog 时 , Dialog 依赖的父容器context不存在了
该 Crash 常见于 Dialog 调用show方法 . 如show Dialog时 Activity被finish或者回收掉了
我遇到的案例是 :
在activity中异步请求网络获取了分享的内容 , 当服务器返回分享内容后 show出分享面板;
在这个异步请求的时间差 用户可能在服务器返回前 finish掉activity 导致以上bug
常见的处理方式 在调用show dialog之前 检查下activity的当前状态
解决方法:
if(!((Activity) context).isFinishing())
{
//show dialog
}
参考:
http://dimitar.me/android-displaying-dialogs-from-background-threads/