如何禁用主页按键?

时间:2011-12-06 15:13:39

标签: java android android-layout android-manifest

我已经完成了一个应用程序..在退出应用程序时,我使用警告对话框方法退出时输入了密码。但是当出现警告对话框按钮时按下主页按钮移动应用程序即将进入主屏幕..当按下主页键时,我想要那个动作。

我尝试这个代码时按下它的工作键按下它不会进入主屏幕。但是当按下主页键时它按警告对话框模式打开它会进入主屏幕

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

3 个答案:

答案 0 :(得分:2)

Home键很特别。抱歉,你不能禁用它。

您应该相应地处理您的活动生命周期:在需要时保存并重新加载相关变量。不要依赖你的活动总是在屏幕上!

答案 1 :(得分:1)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
        //TODO open dialog
        return true;
    }
    return super.onKeyDown(keyCode, event);
}//onKeyDown

答案 2 :(得分:0)

要禁用Home键,请在打开警告对话框时使用以下代码:

AlertDialog.Builder builder = new AlertDialog.Builder(Main.this);
...
AlertDialog alert = builder.create();
alert.show();

//use this line to disable home key
alert.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);