Полноэкранное веб-приложение для Android

Я хочу запустить мое веб-приложение, которое я запрограммировал с помощью HTML5, в полноэкранном режиме на Android. (скрыть строку состояния и строку адреса/навигации)

для iOS вы только пишете:

<meta name="apple-mobile-web-app-capable" content="yes" /> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">

Но это не сработало на Android.

Есть много решений с Javascript, но все решения, которые я пытался, не работают.

Кто-нибудь знает решение?

Ответ 1

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

С учетом этого факта вам нужно попробовать каждый грязный javascript-хак, чтобы заставить это поведение.

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

Ответ 2

Это работало для меня в Chrome для Android.

Добавьте это в теги заголовка:

<meta name="mobile-web-app-capable" content="yes">

Затем в меню браузера Chrome выберите Перейти на главную страницу. Этот значок теперь откроет ваш сайт в полноэкранном режиме.

Ответ 3

Я использую сочетание метатега HTML для iOS и JavaScript-решения. Он убирает адресную строку на устройствах iOS и Android. Он не вынимает нижнюю панель в iOS, так как это исчезнет только тогда, когда пользователь установит веб-страницу в качестве приложения HTML5 на своем домашнем экране.

<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<script type='text/javascript' charset='utf-8'>
    // Hides mobile browser address bar when page is done loading.
      window.addEventListener('load', function(e) {
        setTimeout(function() { window.scrollTo(0, 1); }, 1);
      }, false);
</script>

Я использую PHP в бэкэнд только для отображения JavaScript для мобильного браузера со следующим обнаружением мобильного браузера

if (preg_match('/iphone|ipod|android/',strtolower($_SERVER['HTTP_USER_AGENT'])))

Ответ 4

Вы можете добиться этого с помощью googles нового прогрессивного веб-приложения, добавляющего сервисного работника. Посмотрите здесь: https://addyosmani.com/blog/getting-started-with-progressive-web-apps/ и https://developers.google.com/web/progressive-web-apps/.

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

Ответ 5

<meta name="apple-mobile-web-app-capable" content="yes" /> 

Этот тег предназначен для отображения безхромовой среды после добавления вашего сайта на главный экран iPhone.

Я бы не стал полагаться на это, чтобы работать на Android.

Чтобы панель браузера прокручивалась с пути, как только ваша страница загрузилась, ответьте на этот вопрос: Удаление адресной строки из браузера (для просмотра на Android)

Ответ 6

Как указано Google

С Chrome M31 вы можете настроить свое веб-приложение на наличие приложения значок ярлыка, добавленный на рабочий экран устройства, и запуск приложения в полноэкранном режиме приложения с использованием Chrome для андроидов. Добавить в homecreen ".

См. https://developer.chrome.com/multidevice/android/installtohomescreen

Ответ 7

Этот код может помочь...

public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE); --> hide the Top Android Bar.
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

Ответ 8

Со стороны Android и для версий ниже сотовой, это должно быть сделано с помощью:

Window w = getWindow();
w.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
w.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

Если Android-браузер не делает что-то подобное, когда читает метаинформацию, я бы попытался найти phonegap, чтобы проверить, решить эту проблему.