如何禁用home键?

发布于 2024-12-20 07:27:01 字数 365 浏览 0 评论 0原文

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

我尝试此代码,当按主屏幕键时,它不会进入主屏幕。但是当它在警报对话框模式下打开,同时按主屏幕键时,它会进入主屏幕

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

i have done a app..while exiting the app i made password to enter while exiting i using alert dialog method.But when the alert dialog button is appear that movement while press home button the app is coming to home screen.. i want that movement when press home key should disable.

I try this code its work when press home key press it won't go to home screen.But when it open in alert dialog mode while press on home key it going to home screen

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

栀梦 2024-12-27 07:27:01

Home键很特别。您无法禁用它,抱歉。

您应该相应地处理您的活动生命周期:在需要时保存并重新加载相关变量。不要依赖您的活动始终位于屏幕顶部!

Home key is special. you cannot disable it, sorry.

You should handle your activity lifecycle accordingly: save and reload relevant variables when needed. Do not rely on your activity always be on top screen!

耀眼的星火 2024-12-27 07:27:01
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
        //TODO open dialog
        return true;
    }
    return super.onKeyDown(keyCode, event);
}//onKeyDown
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
        //TODO open dialog
        return true;
    }
    return super.onKeyDown(keyCode, event);
}//onKeyDown
浊酒尽余欢 2024-12-27 07:27:01

要在打开警报对话框时禁用 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);

To disable the Home key, while the alert dialog is opened, use this code:

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文