TYPE_SYSTEM_ALERT в полноэкранном режиме [без панели состояния и навигации]

Я использую активность в своем приложении как TYPE_SYSTEM_ALERT (которая использует SYSTEM_ALERT_WINDOW в качестве разрешения). Мой фрагмент кода для WindowManager

final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,               
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN,
            PixelFormat.TRANSLUCENT);

Активность работает нормально в соответствии с моими потребностями, за исключением того, что строка состояния также видна, и я тоже хочу скрыть это. Я пробовал разные флаги, но не повезло.

Кроме того, я пробовал TYPE_SYSTEM_OVERLAY, но тогда я не мог взаимодействовать с кнопками, editTexts и другими виджетами. Кроме того, строка состояния была видна и в этом TYPE_SYSTEM_OVERLAY.

Любые предложения от экспертов Android здесь ??


person Vishal Afre    schedule 24.01.2015    source источник


Ответы (1)


Вы не можете полностью удалить строку состояния системы после 4.0+. Вы можете посмотреть документы Android здесь. Вы также можете просмотреть эту ссылку, чтобы навсегда скрыть ее для младшие версии.

person Sanjeet A    schedule 24.01.2015
comment
Я знаю, что это возможно, Санджит, потому что я видел пару приложений безопасности в магазине игр, в которых есть возможность заблокировать наше устройство, и действие блокировки находится поверх всего, даже на экране блокировки по умолчанию и, конечно же, статус и навигация бары тоже (и это тоже без рута, чтобы быть понятным). Я хочу разработать деятельность именно так. - person Vishal Afre; 25.01.2015
comment
Да, вместо TYPE_SYSTEM_ALERT я использовал TYPE_SYSTEM_ERROR, и он просто выполнил свою работу. Эта активность была поверх всего и может быть закрыта только вызовом метода finish() или снятием флагов - person Vishal Afre; 11.08.2016