【问题标题】:How do i disable both the home button and notification bar in android如何在android中同时禁用主页按钮和通知栏
【发布时间】:2013-02-15 12:23:55
【问题描述】:

我正在制作一个自定义锁定应用程序,为此我需要禁用主页按钮和通知栏,以便在手机解锁之前无法阅读消息/无法从通知栏访问应用程序。

我使用以下代码禁用了主页按钮:

@Override
      public boolean onKeyDown(int keyCode, android.view.KeyEvent event) {

            if((keyCode == KeyEvent.KEYCODE_HOME)){

                  return true;
            }
            return false;
      }

      public void onAttachedToWindow()// to disable Home button 
      {
          // TODO Auto-generated method stub
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG|WindowManager.LayoutParams.FLAG_FULLSCREEN);

          super.onAttachedToWindow();
    }

【问题讨论】:

  • 您将无法在 android ICS 及更高版本中禁用主页按钮..Google 不允许在 ics 及更高版本中禁用主页按钮。我自己创建了一个自定义储物柜,不得不放弃这个想法因为这个问题,我在 ics 和其他版本中遇到了。在这些版本中无法禁用主页按钮!
  • 但是在 2.2 及以上版本中是否可以同时禁用主页按钮和通知栏?
  • 是的,您可以禁用 ics 下方的主页按钮。
  • home键和通知栏都有吗??

标签: android locking android-notification-bar home-button


【解决方案1】:

试试这个禁用通知栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

【讨论】:

  • 这似乎在模拟器上工作,但在手机上使用该应用程序时会禁用通知栏
  • 尝试注释掉你的 onAttachedToWindow 覆盖,看看是否有帮助
  • 好的,试着把它从 setType |WindowManager.LayoutParams.FLAG_FULLSCREEN中删除
  • 仍然不起作用..所有这些仅在启用主页键时才有效..我想要做的是同时禁用主页键和通知栏
【解决方案2】:

供您参考,请查看Disable Home Button。而对于在 android 中隐藏通知栏,您可以在 AndroidManifest.xml 中使用

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多