Скрыть строку состояния с наложенной черной полосой

Я написал приложение для Android 7.0, которое собирает данные датчиков в фоновом режиме (используя фоновую службу). Во время записи датчика я хотел бы скрыть строку состояния (например, символ Wi-Fi, часы и т. д.).

Я подумал о добавлении черной полосы поверх строки состояния во время работы фоновой службы. Как это может быть сделано?


person machinery    schedule 18.03.2019    source источник


Ответы (1)


вы можете скрыть строку состояния через setSystemUiVisibility()

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

edit Не обращайте внимания на этот ответ, так как он будет работать только для приложения переднего плана. Для фонового приложения, насколько мне известно, нет способа сделать общесистемный пользовательский интерфейс невидимым.

person namu    schedule 18.03.2019
comment
Но это работает только тогда, когда приложение находится на переднем плане, что здесь не так. - person machinery; 18.03.2019
comment
@machinery моя ошибка. если это так, вы не можете использовать setSystemUiVisibility() для всей системы. - person namu; 18.03.2019