按下主页按钮时关闭非应用程序窗口

时间:2015-04-26 10:10:45

标签: android android-windowmanager

我有一个非应用程序窗口(即没有活动上下文的窗口,显示在其他应用程序上)。此窗口在技术上是使用WindowManager.addView()TYPE_SYSTEM_ERROR添加的视图。

我想在按下Home按钮时删除此窗口,但似乎无法拦截Home按钮。

有没有办法做到这一点?

编辑:我的应用没有Activity,因此无法在Activity类上使用任何方法。

2 个答案:

答案 0 :(得分:0)

您可以检测用户何时按下主页按钮:

http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()

但您无法覆盖该操作的系统行为。

答案 1 :(得分:0)

下面用于启用主页按钮按键事件的方法

 @Override
                public void onAttachedToWindow() {
                    super.onAttachedToWindow();
                    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
                }

         @Override
            public boolean onKeyDown(int keyCode, KeyEvent event) {     

                if(keyCode == KeyEvent.KEYCODE_HOME)
                {
                   //The Code Want to Perform. 

                    //Leave Blank no code like back press method so by pressng home button it will not go to home

                    //This can be used for long press home button also
                }
                return true;
            }