2

До 4.3Брус Скрыть панель уведомлений в Android 4.3 API 18

@android:style/Theme.Black.NoTitleBar 

и

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

работает отлично скрыть панель уведомлений. Но в 4.3, хотя в баре не отображается с помощью этого кода, но скольжения в верхней принести бар

Sliding shows the screen. See that the bar overlapped 134. enter image description here

ответ

2

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

Object service = getSystemService("statusbar"); 
Class<?> statusbarManager = Class.forName("android.app.StatusBarManager"); 
Method collapse = statusbarManager.getMethod("collapsePanels"); 
collapse .setAccessible(true); 
collapse .invoke(service); 

Не забудьте добавить это в манифест.

<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> 
+0

это скрывает панель только в текущей активности? – Behnam

+0

Я вызвал его на прослушиватели прикосновений для каждой «Деятельности». – Mihir

+0

Предположим, что вы вызываете другое приложение из своей активности, есть ли способ скрыть панель уведомлений в тех называемых приложениях? – Behnam

0

Вы пробовали использовать Theme.Black.NoTitleBar.Fullscreen?

+0

Просмотреть изображения. Панель уведомлений скрыта, но жест вверху экрана возвращает ее. – Mihir

+0

Вы сказали, что используете андроид: style/Theme.Black.NoTitleBar, а не android: style/Theme.Black.NoTitleBar.Fullscreen. – gian1200