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

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

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

Ответ 1

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

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

Ответ 2

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
      getWindow().requestFeature(Window.FEATURE_NO_TITLE);
}

Ответ 3

requestWindowFeature(Window.FEATURE_NO_TITLE);

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

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

"Theme.NoTitleBar.Fullscreen"

действительно работал у меня.

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

Ответ 4

В 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 Full-Screen Режим

Ссылка из Google