做一个简单的界面,只有一个activity,按home键,view被盖住,回到手机主界面,现在的问题是,如何能把这个activity重新置顶,在onWindowFocusChanged中截获失去焦点的消息也好,重载onKeyDown拦截home key按键也好,当抓住界面被覆盖的消息后,该怎么做才能重新显示回来

解决方案 »

  1.   

    没用,试验过了,也许以前可以拦截home key,但现在不行,按下home key根本不会进到onKeyDown里面,back key倒是可以拦截住
      

  2.   

    要拦截掉HomeKey的话必须修改源码才能够做到
      

  3.   

    貌似不是所有手机的home键都可以拦截,有些手机在做系统的时候底层就屏蔽掉home的事件了
      

  4.   

    新的机型都拦不住home_key了,所以想了一个迂回的策略,按下home_key的瞬间,在该界面的onPause里设定一个timer,大概1秒钟再次拉起自己,避免用户返回到主界面再进行其他的操作,其实就是想做成模态窗口的效果,但是做一个简单的demo测试还是可以实现的,放到应用环境中就拉不起来了,intent是这样写的Intent intent = new Intent(this,objectA.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);   
    startActivity(intent);timer一到,objectA试图自己拉起自己,实际看log,startActivity还是执行了,返回的是:”activity start request from 10056 stopped“的一个warning,界面没有显示出来
      

  5.   

    难道没有人遇到过需要重新置顶一个被stop过的activity? 只是重新显示出来,不需要重新创建