2012-02-07 14 views
2

アクティビティでステータスバーを無効にしたい場合は、以下のコードを使用してください、SecurityException、 StatusBarManagerService:ユーザー10049も現在のプロセスもandroid.permission.STATUS_BARを持ちません。私は<uses-permission android:name="android.permission.STATUS_BAR">を追加しましたが、動作しません。誰もこの問題を解決する方法を知っていますか?おかげアンドロイドでステータスバーを無効にするにはどうすればいいですか?

mStatusBar = getSystemService("statusbar"); 

if (mStatusBar != null){ 
    Log.v("statusbar", "get status bar service "+mStatusBar.getClass()); 
    Method[] arrayOfMethods; 
    Method localMethod; 
    arrayOfMethods = mStatusBar.getClass().getMethods(); 
    for (int i = 0; i < arrayOfMethods.length; i++){ 
     localMethod = arrayOfMethods[i]; 
     Log.v("statusbar", "find status bar method "+localMethod); 
     if (localMethod.getName().equalsIgnoreCase("collapse")){ 
//     mStatusBarCollapseMethod = localMethod; 
      } else if (localMethod.getName().equals("disable")){ 
       try { 
        Log.v("statusbar", "invoke "+mStatusBar+"."+localMethod.getName()+"(1)"); 
        localMethod.invoke(mStatusBar, 1); 
        Log.v("statusbar", "disable statusbar"); 
       } catch (Exception e) { 
        Log.v("statusbar", "disable statusbar excption:"+e.toString()); 
        e.printStackTrace(); 
       } 
      } 
     } 
    } 
} 
+0

答えます:http://stackoverflow.com/a/10380535/788848 – PoOk

答えて

3

を、あなたのJavaコードからステータスバーを無効にする必要がある場合は、これを行うことができます。

Window win = getWindow(); 
win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
2

シンプルなソリューション、ちょうど例えば、マニフェストにandroid:theme=”@android:style/Theme.NoTitleBar.Fullscreen”を追加します。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="de.vogella.android.temperature" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".Convert" 
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
    <uses-sdk android:minSdkVersion="9" /> 

</manifest> 
+0

私はフルスクリーンテーマを設定しました。私が public void onAttachedToWindow() { if (!mInPreviewBoolean){ this.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);//for capture the home key } super.onAttachedToWindow(); } を呼び出すとステータスバーが表示され、私の実装はロック画面のアクティビティなので、アクティビティはフルスクリーンでステータスバーは見えないか無効になります。 私はandroid.permission.EXPAND_STATUS_BAR権限を追加してからstatusbar.collapse()にアクセスできますが、さらにandroid.permission.STAを追加しました –

+0

トップベゼルからスワイプしても通知にアクセスできます。 –

関連する問題