De hecho, hay dos funciones de "Agregar a la pantalla de inicio" en los navegadores de Android:
El cuadro de diálogo emergente que se muestra automáticamente en la parte inferior de Chrome Android cuando se cumplen condiciones específicas ( manifest.json disponible, tener un trabajador de servicio como se describe aquí , sitio web visitado al menos dos veces en> 5 minutos, etc.)

El elemento del menú de Chrome que podemos activar para cualquier sitio web , incluso si no tiene un trabajador de servicio. Este simplemente crea un acceso directo al sitio web en la pantalla de inicio del dispositivo móvil:
Pregunta: ¿Cómo agregar un botón en una página HTML que activa la creación de un acceso directo a la pantalla de inicio, como en la segunda viñeta anterior? (es decir, para un sitio web HTML muy simple, sin ningún trabajador de servicio)
Creo que lo que quieres lograr aún no es posible. Para poder hacer un atajo, se necesitaría una API dedicada para eso. Hasta entonces, no hay API que no sean trabajadores de servicios que puedan lograr esto.
Lo que necesita es el evento BeforeInstallPrompt .
let deferredPrompt; window.addEventListener('beforeinstallprompt', (e) => { deferredPrompt = e; }); const installApp = document.getElementById('installApp'); installApp.addEventListener('click', async () => { if (deferredPrompt !== null) { deferredPrompt.prompt(); const { outcome } = await deferredPrompt.userChoice; if (outcome === 'accepted') { deferredPrompt = null; } } });Aquí tienes un artículo que te puede ayudar.