Mes pwa avec "display": "fullscreen"
J'ai récemment commencé à se conduire mal. The Android NAVBar et barre d'état continuent à ré-comparaître pendant la lecture. Les applications se lancent toujours dans fullscreen
normalement, mais chaque événement tactile réaffiche la navigation et les barres d'état supérieur du système d'exploitation brièvement (comme vous le verriez normalement en standalone
affichage).
Je ne crois pas que cela a connu des changements de code sur ma fin, car certains de mes anciens PWA intacts ont récemment commencé à se comporter comme cela aussi.
Je suis sur un pixel 5, Android 11, dernière mise à jour au cours de la dernière semaine.
Voici un clip courte montrant le problème.
la plupart des réponses sont Java et Kotlin, JavaScript est un peu délicate, vous pouvez l'adopter à peu près n'importe laquelle des saveurs/supersets JS. J'utilise l'autonome et en cache les commandes de la navigateur
Je pense que la question est que vous avez
fullscreen
, cela ne fonctionnera pas, vous avez besoin d'autonome"display": "standalone"
// on iOS Safari
window.navigator.standalone
// on Android Chrome
// this is key for you..
window.matchMedia(
'(display-mode: standalone)'
).matches
Compte tenu de diverses plateformes, je vous recommande de définir un start_url
à l'intérieur de votre manifest.json
, ça vous sauvera à long terme :)
Puis les deux pour afficher dans fullscreen
& remove native controls
, ajoutez la propriété d'affichage avec la valeur standalone
(FullScreen ne fonctionnera pas). votre manifest
devrait avoir quelque chose comme ceci:
// manifest.json
{
"name": "Tykt.org App",
"display": "standalone",
"start_url": "/?standalone=true"
}
Assurez-vous de votre viewport-fit=cover
is à l'intérieur:
<meta name="viewport"
content="width=device-width; initial-scale=1; viewport-fit=cover">
<meta name="mobile-web-app-capable" content="yes">
<meta name="Apple-mobile-web-app-capable" content="yes">
<!-- Bonus if you want some translucency, for e.g. try default, black or black-translucent -->
<meta name="Apple-mobile-web-app-status-bar-style"
content="black-translucent">