2013-07-10 42 views
1

一些背景资料:拆除通知托盘的Android

  • 我的应用程序将通过客人的事件被用来进行自我检查插件。他们不应该能够远离页面,访问设备的设置等。这意味着它必须进入各种Kiosk模式。

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

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

  • 我的设备运行在果冻豆上,但其目的是迎合冰淇淋三明治这样古老的设备。

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

由于提前,

回答

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

嗨,卡梅隆,你测试过了吗?它看起来不错,有光泽,但我似乎无法让它适用于我的应用程序。视图被添加,但状态栏仍然可以被拉下。 – Wakka02

+0

我没有,对不起。但是,我碰到了[this](http://developer.samsung.com/android/technical-docs/Neat-tricks-when-implementing-a-kiosk-app),这可能有些帮助。 – Cameron

+0

它不起作用:( – Wakka02

相关问题