token android.os.BinderProxy@4479b390 is not valid; is your activity running

关于这个bug  网上也有很多博客提到  最常见的原因是context的问题  本该用Activity 的context   可能是用成了 ApplicationContext   因为弹窗是必须依附在Activity上面的。

我这里Context是没问题  但是由于我的Dialog是静态实例  在Activity退出的时候 我仅仅是调用了 dialog.dissMiss( );   导致第二次打开应用就老是报这个错误。 原因是我在所有activity退出后  private static Dialog mDialog 等静态实例并未被销毁   我再次打开后即使我是在Activity初始化之后再创建这个Dialog  也还是会报这个错,所以我在Activity 销毁的时候 还要将Dialog的实例置空 这样就可以了。

 public void dissDialog(){
        dialog_main.dismiss();
        dialog_main = null;
    }

 

你可能感兴趣的:(bug,Android)