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

SYSTEM_UI_FLAG_LOW_PROFILE не работает на HTC One M8

Я получил сообщения от некоторых пользователей телефонов HTC One M8, что навигационные кнопки всегда видны, хотя они должны быть в режиме с низким профилем.

Я построил следующее примерное приложение, которое работает так, как вы ожидали бы от эмулятора и моего Nexus 4.

public class MainActivity extends Activity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.visible:
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
                break;
            case R.id.lowProfile:
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
                break;
        }
    }

}

На HTC One M8 флаг SYSTEM_UI_FLAG_LOW_PROFILE всегда игнорируется, но скрывается строка состояния, например (с SYSTEM_UI_FLAG_FULLSCREEN).

Я попробовал называть setSystemUiVisibility() на представлении декора, как показано, и на кнопке без успеха.

Существуют ли какие-либо известные проблемы или обходные пути для этой модели?

Обновление: Пример приложения был протестирован на Android 5.0.1. Я не знаю, работал ли он на предыдущих версиях.

4b9b3361

Ответ 1

Кажется, что это ошибка, связанная с API 21. Предложение заключается в том, чтобы нацелить SDK версии 19, и проблема, похоже, будет решена.