删除android中的通知托盘

时间:2013-07-10 02:08:21

标签: android kiosk-mode

一些背景资料:

  • 我的应用程序将由活动中的客人使用以执行自助登记。他们不应该离开页面,访问设备的设置等。这意味着它必须进入各种Kiosk模式。

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

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

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

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

提前致谢,

1 个答案:

答案 0 :(得分:0)

看看this

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);