Corsi on-line

Verificare se un’App è stata lanciata dalla schermata di Home

Sostanzialmente esistono due modalità per lanciare un’App su un dispositivo mobile: adottare un collegamento memorizzato nella schermata di Home (Home Screen), parliamo in pratica della schermata che viene visualizzata all’avvio del device e nella quale sono in genere presenti le icone delle applicazioni più frequentemente utilizzate, o impiegare un comune Web Browser, sia esso quello di default del sistema o una soluzione installata successivamente.

Best-Android-Home-Screen-Themer-App

In alcuni casi può essere però necessario che la nostra applicazione sia in grado di riconoscere la modalità attraverso la quale è stata lanciata; si immagini per esempio il caso di una Web application che viene avviata tramite browser Internet, verificare questa eventualità potrebbe rivelarsi utile per l’inserimento tra  i contenuti di una notifica (inserita per esempio in un banner) che consigli  il collegamento in Home Screen o l’installazione nel caso sia disponibile la versione nativa dell’App.

Effettuare questo controllo non richiede una procedura particolarmente complessa. Safari, il browser di default in iOS, prevede per esempio il metodo JavaScript window.navigator.standalone è in grado di rivelare se un’App è stata eseguita a partire da un’icona o dallo stesso programma per la navigazione; Internet Explorer dispone di una funzionalità analoga chiamata window.external.msIsSiteMode(), motivo per il quale sarà possibile utilizzare entrambi i costrutti sintattici nella medesima espressione:

var fromHomescreen = window.navigator.standalone || window.external.msIsSiteMode();
if(!fromHomescreen) {
    // Blah! Blah! Blah!
    ...
}

Invece del commento inserito nel codice proposto, come effetto delle verifica eseguita tramite la condizione introdotta dal blocco if si potrà per esempio indicare la corretta procedura di installazione dell’App perché essa possa essere lanciata anche tramite la schermata di Home; purtroppo però tale metodologia presenta ancora dei limiti importanti in quanto non è supportata da un browser molto diffuso come Google Chrome per il sistema operativo Android.

Per approfondire

Post correlati
I più letti del mese
Tematiche