禁用Android的主页按钮4.0+禁用Android的主页按钮4.0+(Disable Home

2019-05-12 09:02发布

我想用我自己的应用程序,以取代股票锁屏。
在我的代码,我要禁用的Home键。
我知道如何在Android 2.3及以下做到这一点,
但相同的代码不与Android 4.0+工作(返回到主页时按下按钮桌面)

最近我发现叫MiHome一个应用程序,它有它自己的锁屏界面,并能禁用的主页按钮。
有谁知道它是如何实现这个???

Answer 1:

有没有办法拦截在Android home键,除非你让你的应用程序的主屏幕。 这是出于安全原因,使恶意的应用程序无法接管你的设备通过覆盖所有可以退出按钮。 home键是一个肯定拍的方式,能够留下任何应用程序。

如果你要处理的HOME按钮,实现一个主屏幕。



Answer 2:

与home键是碴在ICS安全性/可靠性的原因禁用。 (大多数应用程序使用它的邪恶多好)

请参考解决方法如下问题。

  1. 我怎么可以禁用Android 4.0主按钮
  2. 覆盖的Android ICS Home键
  3. 禁用主页按钮中的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+