//保持弹出窗口不关闭
    public void dialogStay(DialogInterface dialog){
     try {
Field field = dialog.getClass().getSuperclass().getDeclaredField(  
"mShowing");
field.setAccessible(true);
field.set(dialog, false);
dialog.dismiss();
} catch (Exception e) {
e.printStackTrace();

    }我对dialog用过以上方法,因为有的时候不想让它消失。
和点击home不消失有关系吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在的问题是,dialog出来后 点击 home 键,dialog还是不会消失。。不知道该怎就解决。

解决方案 »

  1.   

    在onPauze或onStop方法里把dialog dismiss或cancel啊
      

  2.   

    你的代码里面有没有屏蔽home键啊?
      

  3.   


    我这个不是写在activity里的。我在Launcher.java里的onStop()打Log都没有显示。
      

  4.   

    真的有必要在一个dialog里去屏蔽home么
      

  5.   

     onStop方法里把dialog dismiss  
      

  6.   

    我这个dialog是在Launcher里弹的,activity是不会执行onStop()的。。
      

  7.   

    Launcher里面也有控件的监听啊,继承这些接口重写方法不就行了吗,还有查看一下你的launcher顺序是否正确,有关home键的设置是否在dialog之前就启用了。
      

  8.   


    onKeyListener 监听不到home键
      

  9.   


    不能,对home的监听是没有反应的。