一些背景资料:
我的应用程序将由活动中的客人使用以执行自助登记。他们不应该离开页面,访问设备的设置等。这意味着它必须进入各种Kiosk模式。
我需要完全禁用通知托盘 ,这意味着即使用户从屏幕顶部向下滑动,也不会显示状态栏。它是显示您的电池寿命,WiFi / 3G连接等的那个
我已经将我的应用程序全屏显示,这会隐藏状态栏,但是一旦用户从屏幕顶部向下滑动,状态栏仍会显示。随后执行另一次滑动将打开通知托盘。
我的设备在Jelly Bean上运行,但目的是迎合像冰淇淋三明治一样古老的设备。
我应该如何禁用通知托盘?是否有代码可以帮助我,或者它是否像建议用户禁用某种设置一样简单(例如iPad如何在设备的设置中简单地禁用手势)?
提前致谢,
丽
答案 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);