Как отключить панель состояния / панель уведомлений на андроиде программно?

Я создаю приложение lockscreen. Это приложение запускается с помощью SMS. Когда полученная SMS-команда была получена, она отображает активность блокировки.

Моя активность lockscreen использует TYPE_KEYGUARD для отключения кнопки главного экрана. Когда экран устройства выключится, а затем снова включите его, моя проблема – строка состояния / панель уведомлений по-прежнему отображаются на моем экране. Это проблема, потому что пользователь по-прежнему может получить доступ к какой-либо программе через панель состояния / панель уведомлений, даже если устройство заблокировано. Поэтому я хочу распустить эту панель состояния / панель уведомлений, чтобы пользователь (кража) больше не мог получить доступ к этому устройству. Пожалуйста, помогите мне решить это.

Я думаю, что то, что вы пытаетесь сделать, программно задает активность как полноэкранный. Если да, рассмотрите следующее:

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

Источник: http://www.androidsnippets.com/how-to-make-an-activity-fullscreen

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().requestFeature(Window.FEATURE_NO_TITLE); } 
 requestWindowFeature(Window.FEATURE_NO_TITLE); 

Только отключает строку заголовка активности, а не панель уведомлений вверху.

Используйте эту тему в манифесте android для своей деятельности:

 "Theme.NoTitleBar.Fullscreen" 

Работал для меня.

Он скрывает панель уведомлений.

На Android 4.0 и ниже

Опция 1:

 <application ... android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" > ... </application> 

Вариант 2:

 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // If the Android version is lower than Jellybean, use this call to hide // the status bar. if (Build.VERSION.SDK_INT < 16) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } setContentView(R.layout.activity_main); } ... } 

На Android 4.1 и выше

 View decorView = getWindow().getDecorView(); // Hide the status bar. int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); // Remember that you should never show the action bar if the // status bar is hidden, so hide that too if necessary. ActionBar actionBar = getActionBar(); actionBar.hide(); 

А для Android 4.6 (Api 19) и выше используйте полноэкранный режим Immersive

Ссылка от Google