2012-06-08 120 views
1

我正在開發一個應該具有一些額外安全功能的應用程序。在這種情況下,我必須禁用/隱藏狀態欄。我正在運行Android 2.2。在Android中禁用/隱藏狀態欄

而且我的設備已經生根,並且如果有禁用狀態欄的ADB命令,那也可以。

現在我所做的基本上是當用戶嘗試展開狀態欄時,我通過調用一些來摺疊它。但有時用戶可以展開它並單擊狀態欄通知中的項目。

這部分代碼將做到這一點,

public void onWindowFocusChanged(boolean hasFocus) 
{ 
     try 
     { 
      if(!hasFocus) 
      { 
       Object service = getSystemService("statusbar"); 
       Class<?> statusbarManager = Class.forName("android.app.StatusBarManager"); 
       Method collapse = statusbarManager.getMethod("collapse"); 
       collapse .setAccessible(true); 
       collapse .invoke(service); 
      } 
     } 
     catch(Exception ex) 
     { 

     } 
} 

而且我也試着設置應用程序,全屏應用程序。但它也有一些問題。

有人可以幫我解決這個問題嗎?

有人可以幫助我做到這一點嗎?

+0

你正在嘗試做什麼會導致通知面板(從狀態欄拉下來的東西)返回,如果它被拉下。你不能以這種方式隱藏狀態欄。 – Tom

回答

3

您可以選擇主題微調框並選擇 「Theme.NoTitleBar.Fullscreen」。

使用代碼: -

requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

上面寫的代碼放在onCreate方法

+0

我正在使用此代碼部分禁用主頁按鈕。 \t @Override \t公共無效onAttachedToWindow() \t { \t getWindow()的setType(WindowManager.LayoutParams.TYPE_KEYGUARD)。 \t super.onAttachedToWindow(); \t} 因此,添加您的代碼部分不會幫助我,因爲當手機接到電話或轉到另一個應用程序並返回時它正在重置。 謝謝你的回覆。 – bimal

1

請檢查答案here和嘗試,如果這是你想要的。謝謝:-)