我正在开发Lock screen,我想在冰激凌三明治和Jelly bean中禁用Home按钮,我可以使用android 2.2,2.3中的以下方法阻止它
@Override
public void onAttachedToWindow() {
// TODO Auto-generate method stub
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}我也试过这个
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);在这里,我也没有通过onPause方法或onKeyDown获取事件信息
但是这些方法在ICS中不起作用,Jelly bean如果有可以替代它的方法,请让我知道
发布于 2012-09-25 00:03:02
Post ICS即安卓4+,出于安全原因,对HomeButton的覆盖已被移除,以便在应用程序被证明是恶意软件的情况下允许用户退出。
此外,不让用户离开应用程序也不是一个好的做法。但是,由于您正在制作一个锁屏应用程序,您可以做的是将该活动声明为Launcher,这样当按下HomeButton时,它将简单地重新启动您的应用程序并保留在那里(用户只会注意到屏幕上的轻微闪烁)。
编辑#1 :这里是another workaround,更适合你的需求。
编辑#2 :刚刚发现this.还没有测试过它。但看起来很有希望。我不确定它是否能工作,但你可以试一试。
发布于 2012-09-27 22:46:55
您可以尝试以下几种方法:
onPause()方法时使用clear to top标志重新启动它,这将阻止Home键和打开other activities.这样做,没有人能够退出你的应用程序。
发布于 2013-12-30 21:44:53
我认为从Android应用程序中检测和/或拦截主页按钮是不可能的。这内置于系统中,以防止无法退出的恶意应用程序。
https://stackoverflow.com/questions/12436190
复制相似问题