Подтвердить что ты не робот

Скрыть строку состояния на Android Ice Cream Sandwich

Я работаю в Launcher для Android ICS, но у меня проблема с планшетами.

Я не могу скрыть строку состояния. Я попробовал его в Android 2.3.X, и все в порядке. Проблема возникает только с Android 4.0.

Как я могу скрыть это?

4b9b3361

Ответ 1

Вы не можете избавиться от системной панели на планшетах. Вы можете избавиться от панели навигации и строки состояния на телефонах. Пожалуйста, ознакомьтесь с разделом "Элементы управления для пользовательского интерфейса системы" примечаниями к выпуску Android 4.0 SDK.

Ответ 2

Вы не можете получить 100% правдивый полный экран в Android 4.0.

Используйте следующее, чтобы уменьшить панель уведомлений (например, строка состояния, системная панель)

 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

И используйте это, чтобы скрыть его

 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

И, если я правильно понимаю, вы пытаетесь достичь "режима киоска". Вы можете получить небольшую помощь в приложении с именем "surelock". Это блокирует все действия "дома" и "назад".

Это все еще не идеально, но это может быть лучшее, что мы можем достичь с помощью Android ICS.

Ответ 3

Можно скрыть панель состояния на корневом устройстве Android. Программа Hidebar делает это, убивая процесс systemui. Программа является открытым исходным кодом, поэтому вы можете прочитать все об этом в исходном коде.

См. http://ppareit.github.com/HideBar/.

Ответ 4

Я знаю, что мой ответ наступает немного позже, но после сбора информации из разных мест я придумал это, которое работает ТОЛЬКО НА КОРОТКИХ УСТРОЙСТВАХ:

    private void    KillStatusBar()
{
    Process proc = null;

    String ProcID = "79"; //HONEYCOMB AND OLDER

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        ProcID = "42"; //ICS AND NEWER
    }

    try {
        proc = Runtime
                .getRuntime()
                .exec(new String[] { "su", "-c",
                        "service call activity "+ProcID+" s16 com.android.systemui" });
    } catch (IOException e) {
        Log.w(TAG,"Failed to kill task bar (1).");
        e.printStackTrace();
    }
    try {
        proc.waitFor();
    } catch (InterruptedException e) {
        Log.w(TAG,"Failed to kill task bar (2).");
        e.printStackTrace();
    }

}

Это должно устранить нижнюю панель на любом корневом устройстве и превратить ее в режим "киоска".

Ответ 5

Чтобы скрыть строку состояния и панель навигации в android 4.0, мы должны использовать код ниже:

LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

Ответ 6

Основываясь на ответе ppareit.

Вы не можете скрыть панель навигации на большинстве складских устройств. Тем не менее, есть работа, если вы укореняете устройство, является опцией. Ниже приведены шаги для одного решения:

В HideBar есть возможность запускаться в режиме "Киоск", в котором нет возможности повторно отобразить панель навигации. Само собой разумеется, вам действительно нужно быть осторожным с этим.