第一行最后
is your activity running?

解决方案 »

  1.   

    对你的dialog加上mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);这句,作为系统的dialog使用,同时加上<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />  
      

  2.   


    我的应用里面用过非常多的dialog,log报出的dialog错误,但是我定位不到哪里错误,客户用的时候偶尔发现的,我的手机上没有发现,不好定位。有没有办法定位一下哪个错的?
      

  3.   


    我知道为什么错误,但是我想知道的时候这个没法找到依附的context的错误是我代码中的哪一行造成的,log中并未给出,这种错误如何排查?
      

  4.   

    对于这种情况,大部分是activity已经销毁,但是却有个线程跑着,发出消息显示dialog 的,内存泄露了。
    你可以在显示dialog或者隐藏dialog时,做下判断 isFinishing()
      

  5.   

    或者dialog直接用application的context
      

  6.   


    你这个方法是不是就是将dialog定义为系统级别的,不依附于activity了,所以不会报那个错误了?
      

  7.   


    你这个方法是不是就是将dialog定义为系统级别的,不依附于activity了,所以不会报那个错误了?
    是的