我有一个非应用程序窗口(即没有活动上下文的窗口,显示在其他应用程序上)。此窗口在技术上是使用WindowManager.addView()
和TYPE_SYSTEM_ERROR
添加的视图。
我想在按下Home按钮时删除此窗口,但似乎无法拦截Home按钮。
有没有办法做到这一点?
编辑:我的应用没有Activity
,因此无法在Activity类上使用任何方法。
答案 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;
}