开发者社区> 问答> 正文

android 通过广播打开的dialog怎么关闭呢,在activity finish前调用dial

我有一个dialog,是通过广播的方式弹出他的,但是调用activity的finish()方法之前已经调用了关闭dialog的方法了,但是还是会报 Activity com.avcit.conference.MainActivity has leaked window android.widget.PopupWindow$PopupViewContainer@406dfc10 that was originally added here

android.view.WindowLeaked: Activity com.avcit.conference.MainActivity has leaked window android.widget.PopupWindow$PopupViewContainer@406dfc10 that was originally added here

这个异常,但是要是通过一个按钮的来finish就没有问题!?求解

展开
收起
kun坤 2020-05-31 21:48:34 876 0
1 条回答
写回答
取消 提交回答
  • 看下这个http://bbs.hiapk.com/thread-216719-1-1.html
    原因是activity 和dialog同时显示 要先dialog.dismiss() 后activity.finish() ###### 这个不是在dialog里调用的finish()吧。
    建议重写dialog,接收外部intent通知后,dialog自己内部调用finish()。
      ######

    引用来自“北京d路飞”的答案

    这个不是在dialog里调用的finish()吧。 建议重写dialog,接收外部intent通知后,dialog自己内部调用finish()。  
    是在dialog中有两个按钮,点击确认关闭dialog,同时finish掉这个activity, ######

    引用来自“正仔”的答案

    引用来自“北京d路飞”的答案

    这个不是在dialog里调用的finish()吧。 建议重写dialog,接收外部intent通知后,dialog自己内部调用finish()。  
    是在dialog中有两个按钮,点击确认关闭dialog,同时finish掉这个activity,
    点击了dialog的按钮后,dialog是会正常结束的。 你的是在dialog中finish弹出dialog的Activity吗? 如果是这个,就应该dialog里发消息给Activity,然后Activity自己destroy了。 ######

    引用来自“北京d路飞”的答案

    看下这个 http://bbs.hiapk.com/thread-216719-1-1.html 原因是activity 和dialog同时显示 要先dialog.dismiss() 后activity.finish()
    我在关闭activity前调用了 dialog的dismiss方法,但是是无效的, 因为我的这个dialog是通过广播打开的,在关闭时会出现那个异常, 但是在点击按钮调出这个dialog然后再关闭时是没有问题的! ###### “因为我的这个dialog是通过广播打开的,在关闭时会出现那个异常, 但是在点击按钮调出这个dialog然后再关闭时是没有问题的!” 那可以在接收到广播后,sendMessage给Activity的Handler,在Activity所在的UI Thread里打开这个Dialog,这样效果应该是和点击按钮调出这个dialog一样的。 ######哦,谢谢了######

    引用来自“北京d路飞”的答案

    “因为我的这个dialog是通过广播打开的,在关闭时会出现那个异常, 但是在点击按钮调出这个dialog然后再关闭时是没有问题的!” 那可以在接收到广播后,sendMessage给Activity的Handler,在Activity所在的UI Thread里打开这个Dialog,这样效果应该是和点击按钮调出这个dialog一样的。
    我用system.exit(0);这种方法来代替finaish();这样就没有那些异常了! ###### 先把dialog的关闭.不要直接使用view的finish()掉.
    2020-05-31 21:48:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载