2012-03-14 61 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);