2015-02-18 6 views
0

У меня есть Android-устройство с привилегиями root (из коробки). Я пытаюсь скрыть навигационную панель, поэтому кнопки дома и назад не видны. Я выполняю эту задачу, используя следующие:Navbar не скрывается на устройстве конкретного производителя

proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity "+ ProcID +" s16 com.android.systemui"}); 

where ProcID = "42" 

Это работает на моем корне Samsung Galaxy Tab 2, но не работает на данном Android устройства (OS v4.2.2).

Любое руководство будет оценено по достоинству. Ошибок не возникает, если я не запустил это на устройстве без полномочий root.

+0

Это не публичный API, так что вы не можете ожидать, что она последовательно работать на всех устройствах. Если вы действительно пытаетесь создать защищенный киоск, вы должны быть готовы внести изменения в исходный уровень для самого Android, а не просто баржу во время выполнения, делая вещи как root. Простое скрытие навигационной панели также не является достаточным. –

+0

Я, наконец, нашел это сообщение: http://stackoverflow.com/questions/16713845/permanently-hide-navigation-bar-on-activity on SO, который решает мою проблему. –

ответ

0

Вы пытаетесь настроить приложение на полный экран, например, игры? Попробуйте использовать липкий режим погружения. Как:

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

Вы можете получить более подробную информацию здесь: https://developer.android.com/training/system-ui/immersive.html

Надежда Вот что вы ищете для

+0

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

+0

Чтобы подтвердить это, «это не то, что я ищу». Хотя он скрывает навигацию, ее можно отобразить двойным нажатием на приложение. Navbar никогда не должен быть доступен неавторизованному пользователю. –