2012-03-14 65 views
6

我想在應用程序中隱藏狀態欄使其成爲全屏,因此我使用此示例Hide Notification bar - 它工作正常。但是,如果我鎖定屏幕,然後解鎖它,狀態欄出現,如何解決這個問題?防止隱藏狀態欄在屏幕鎖定後重新出現

+0

你指的是屏幕頂部的Android操作系統狀態欄?一個包含電池壽命,時間,Wifi信號等? – 2012-03-14 18:03:01

+0

您是否在活動標籤中添加了該主題屬性?可能是你應該嘗試在應用程序標記,如果你沒有.. – 2012-03-15 05:50:06

+0

是啊我試過了,它不工作 – user1049280 2012-03-15 10:35:05

回答

-2

編寫代碼在應用程序標記您的aapplication的mainfest.xml文件,如下:

<application android:name="application package" 
      android:label="application name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 
+0

好吧,它也行不通 – user1049280 2012-03-15 10:19:01

1

要隱藏的Android狀態欄和應用程序標題欄,添加以下清單文件:

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> 

修訂

還嘗試把這個代碼在您的相關活動從鎖屏回國後:

public class FullScreen extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
           WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.main); 
    } 
} 
+1

我已經這樣做 - 它只能工作,直到我鎖定和解鎖屏幕 – user1049280 2012-03-15 10:17:30

+0

更新我的答案,你可能有更多的運氣。 – 2012-03-17 03:00:27

+0

不,不起作用 – user1049280 2012-03-22 09:30:39

1

如果安全不是一個問題,您可以將您的應用程序運行時禁用鎖定屏幕。以下行添加到清單:

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 

在你的活動中,你可以做如下:

public class MyActivity extends Activity { 
    private KeyguardLock lock; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Disable lock screen. 
     KeyguardManager keyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
     lock = keyGuardManager.newKeyguardLock("MyActivity"); 
     lock.disableKeyguard(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     // Reenable the lock screen again. 
     lock.reenableKeyguard(); 
    } 
} 
0

使用此代碼在onCreate()setContentView()

this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);