如何防止在android和ios中使用HOME按钮



我正在开发一个应用程序,在该应用程序中,他应该不能使用HOME按钮切换应用程序,应用程序。应仅在用户按下关闭按钮时关闭。。我已经设法超越返回按钮,不知道如何禁用主页按钮。

当应用程序在后台时,这不可能在android中禁用主页按钮,因为如果可能的话,某些应用程序可能总是禁用主页按钮。所以这就是开发者不能在后台禁用主页按钮的原因。但在"活动"中,您可以截取主页按钮。

在"活动"中,您可以禁用android中的Home键。它只能工作到Android 3.x。

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

TGMCians是对的。

安卓系统不会让活动及其服务在您的设备上完全单独运行。

使用Override,当您的活动处于前台时,您可以捕获按钮单击(主页、后退和菜单)。如果一项活动/服务可以从后台进行完全控制,则您也无法切换到收到的短信、电子邮件、电话等。

就我个人而言,我认为同时覆盖主页和后退按钮是危险的,如果活动在某个时候挂起,除非你重新启动手机,否则你无法退出应用程序。

就我个人而言,我确实会在退出或返回主屏幕事件时覆盖后退键,但不要使用主页按钮。

在iOS上使用代码根本不可能做到这一点。

HOME按钮的一种用法是用于紧急情况。

任何房子、公寓。。。它们都有应急方法,比如紧急门(出口)、玻璃破碎机(斧头、蝙蝠…);它拯救了生命。同样,在安卓/iOS手机上,HOME按钮可以挽救用户的生命(嗯,有点)。如果HOME(主页)按钮失效,则手机将被视为失效,并且需要立即重新启动以进行刷新。这个按钮就是为了这个目的而设计的,这样开发者就不会把所有事情都搞砸。

就我个人而言,我有点感谢安卓/iOS框架团队以及在主页按钮上想到这种情况的人。它多次拯救了我的发展。我建议你应该考虑最坏的情况,如果主页按钮在你的应用程序中不起作用;例如,应用程序无法正常工作,HOME被禁用,那么如何返回HOME屏幕,如何切换到其他应用程序?。。。

TGMCians提供的代码不适用于4.0+。

如果你在安卓框架上工作,比如构建ROM,为制造商构建框架。。。用KEY_HOME对源代码进行grep,并跟踪内部深度以了解其工作原理并禁用它。

实际上,可以使用以下方法阻止主页按钮:

  1. 使用安全漏洞,至少在旧的android版本上是这样。这是在一些储物柜应用程序上完成的。我认为有些甚至在更新的android版本上仍然有效,但这是一个风险,而且在一些设备上可能会有问题。我知道"widgetLocker"one_answers"图片密码锁定屏幕"会尝试这些漏洞。我不确定他们现在和他们合作得有多好。成为锁屏的最佳解决方案是#2。

  2. 让你的应用程序成为一个启动器应用程序,它将处理主页按钮(当然,用户必须确认)。这样一个应用程序的例子是"MagicLocker",事实上,任何启动器应用程序。。。

  3. 使用根设备。我不知道怎么做,但我认为这是很有可能的。

  4. 这不是一种完全阻止的方法,但你可以让你的应用程序全屏并在顶部(使用TYPE_SYSTEM_ALERT窗口布局类型),这样主页按钮就不会被捕获,但用户不会看到你的应用后面发生了什么。缺点是,任何其他按钮都不会被你的应用程序捕获,因为它并不在前台。

最新更新