我想用我自己的应用程序,以取代股票锁屏。
在我的代码,我要禁用的Home键。
我知道如何在Android 2.3及以下做到这一点,
但相同的代码不与Android 4.0+工作(返回到主页时按下按钮桌面)
最近我发现叫MiHome一个应用程序,它有它自己的锁屏界面,并能禁用的主页按钮。
有谁知道它是如何实现这个???
Answer 1:
有没有办法拦截在Android home键,除非你让你的应用程序的主屏幕。 这是出于安全原因,使恶意的应用程序无法接管你的设备通过覆盖所有可以退出按钮。 home键是一个肯定拍的方式,能够留下任何应用程序。
如果你要处理的HOME按钮,实现一个主屏幕。
Answer 2:
与home键是碴在ICS安全性/可靠性的原因禁用。 (大多数应用程序使用它的邪恶多好)
请参考解决方法如下问题。
- 我怎么可以禁用Android 4.0主按钮
- 覆盖的Android ICS Home键
- 禁用主页按钮中的Android ICS(4.0)
似乎是唯一的办法是实现一个主屏幕
Answer 3:
试试这个
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ERROR, WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
} else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
mOverlay = (RelativeLayout) inflater
.inflate(R.layout.main, (ViewGroup) null);
mOverlay.setFitsSystemWindows(false);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
mWindowManager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView(mOverlay, params);
文章来源: Disable Home button in Android 4.0+