Java 以编程方式禁用Android 4.4.4的主页按钮

Java 以编程方式禁用Android 4.4.4的主页按钮,java,android,Java,Android,我目前正试图在霍尼韦尔CT50上以编程方式禁用Home按钮,该CT50具有Android版本4.4.4(API 19)。我试过其他人发布的一些代码,但似乎都不起作用。请帮助。谢谢我很确定学步锁只使用广播接收器,并监听Intent.ACTION\u MAIN和category Intent.category\u HOME-这就是为什么当您首次启动它时,它会告诉您选中“use this application as default”(使用此应用程序作为默认设置)框,并让您选择学步锁 因此,它根本没有

我目前正试图在霍尼韦尔CT50上以编程方式禁用Home按钮,该CT50具有Android版本4.4.4(API 19)。我试过其他人发布的一些代码,但似乎都不起作用。请帮助。谢谢

我很确定学步锁只使用广播接收器,并监听Intent.ACTION\u MAIN和category Intent.category\u HOME-这就是为什么当您首次启动它时,它会告诉您选中“use this application as default”(使用此应用程序作为默认设置)框,并让您选择学步锁

因此,它根本没有阻止Home(主页)按钮,它只是将自己设置为默认的广播接收器:

Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME);
i.addCategory(Intent.CATEGORY_HOME);
当你启动学步锁时,它可能会设置一个内部标志,如果你按下home(主页)按钮,它只会将窗口带到前面。如果未设置该标志,它可能会显式启动启动器


我希望这是有道理的。这只是一个理论,但我几乎100%肯定它就是这样做的。

我认为这是不可能的。这违反了安卓系统的安全性。你不能禁用它。除非您构建自己的Android定制操作系统。但是从用户体验的角度来看,这是一个非常糟糕的主意。
@Override public void onAttachedToWindow(){this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);super.onAttachedToWindow();}
你试过吗?不可能。有一个原因是Home按钮比其他键更难禁用。我刚刚尝试过它,即使它没有真正阻止Home按钮,但如果我无法禁用Home按钮,我将不得不将其用作最后一个选项。谢谢你的帮助