2011-08-11 8 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

doesntのは – user861040

+1

が私のためにかなりうまく機能...働いているようです。 – Umesh

+9

FYI Android 4.2以降、「expand」メソッドの名前が「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

関連する問題