2011-08-11 33 views
4

我正在制作一个家庭应用程序,我认为如果我使用全屏并且不显示状态栏,它将是合适的。所以现在我希望能够通过菜单上的按钮打开或者展开状态栏,类似于一些默认的家庭应用程序在菜单中的方式。我知道它是可能的,因为默认的家庭会这样做。这是通过意图完成的吗?如果是的话,我可以有它的代码。如果不好,那么如果你们向我展示了如何,我将不胜感激。谢谢!如何通过意向打开或展开状态栏?

回答

10

看是否有此帮助,让我知道...

try{ 

    Object service = getSystemService("statusbar"); 
    Class<?> statusbarManager = Class.forName("android.app.StatusBarManager"); 
    Method expand = statusbarManager.getMethod("expand"); 
    expand.invoke(service); 

} 
catch(Exception ex){ 
.... 
} 

uses permission : "android.permission.EXPAND_STATUS_BAR"; 
+0

似乎不工作... – user861040

+1

作品相当不错我。 – Umesh

+9

仅供参考在Android 4.2中,“扩展”方法已重命名为“expandNotificationsPanel”。 –

2

下面的代码为我工作:

boolean shown = true; 
private void showHide() { 
    Window w = this.getWindow(); 
if(shown) 
{ 
    w.setFlags(0, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 
else 
{ 
    w.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 
shown=!shown; 
} 
+0

似乎没有工作 – user861040

相关问题