1

一些背景资料:

  • 客人将在活动中使用我的应用程序进行自助签到。他们应该无法离开页面导航、访问设备的设置等。这意味着它必须进入某种信息亭模式。

  • 我需要完全禁用通知托盘这意味着即使用户从屏幕顶部向下滑动,状态栏也不应该出现。它可以显示您的电池寿命、WiFi/3G 连接等。

  • 我已经让我的应用程序全屏显示,它隐藏了状态栏,但是一旦用户从屏幕顶部向下滑动,状态栏仍然会出现。执行另一次滑动将随后打开通知托盘。

  • 我的设备在 Jelly Bean 上运行,但旨在迎合像冰淇淋三明治这样古老的设备。

我应该如何禁用通知托盘?有没有可以帮助我的代码,还是像建议用户禁用某种设置一样简单(比如 iPad 如何简单地禁用设备设置中的手势)?

提前致谢,

4

1 回答 1

0

看看这个

View disableStatusBar = new View(context);

WindowManager.LayoutParams handleParams = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.FILL_PARENT,
    <height of the status bar>,
    // This allows the view to be displayed over the status bar
    WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
    // this is to keep button presses going to the background window
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
    // this is to enable the notification to recieve touch events
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
    // Draws over status bar
    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
    PixelFormat.TRANSLUCENT);

handleParams.gravity = Gravity.TOP;
context.getWindow().addView(view, handleParams);
于 2013-07-10T03:06:14.367 回答