Intent Android con Chrome

Puoi avviare le app direttamente da una pagina web su un dispositivo Android con un intent Android. Puoi implementare un gesto dell'utente per avviare l'app con uno schema personalizzato o utilizzare la sintassi intent:.

Costruire un ancoraggio di intent e incorporarlo all'interno di una pagina in modo che l'utente possa scegliere di avviare l'app. Questo consente flessibilità su come e quando vengono lanciate le app, il che significa che è possibile trasmettere informazioni all'app con Intent Extra.

La sintassi di base per un URI basato su intent è la seguente:

intent:  
   HOST/URI-path // Optional host  
   #Intent;  
      package=\[string\];  
      action=\[string\];  
      category=\[string\];  
      component=\[string\];  
      scheme=\[string\];  
   end;

Per informazioni dettagliate sull'analisi, consulta l'articolo Codice sorgente Android.

Se un intent non viene risolto o se un'applicazione esterna non viene avviata, l'utente può essere reindirizzato all'URL di riserva. Puoi specificare un URL di riserva con un Intent Extra:

S.browser_fallback_url=[encoded_full_url]

Utilizza S.<name> per la definizione di Intent Extra. Questo particolare extra è compatibile con le versioni precedenti. Chrome rimuove browser_fallback_url in modo che l'app di destinazione non vedrà questo valore.

Chrome non avvia un'applicazione esterna nei seguenti casi:

  • L'intent non può essere risolto. In altre parole, nessuna app è in grado di gestire l'intent.
  • Un timer JavaScript ha tentato di aprire un'applicazione senza un gesto dell'utente.

Esempi

Ecco un intent che avvia l'app Zxing Barcode Scanner:

intent:  
   //scan/  
   #Intent;  
      package=com.google.zxing.client.android;  
      scheme=zxing;  
   end;

Per avviare l'app Zxing Barcode Scanner, codifica il tuo href sull'ancoraggio:

  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
    Take a QR code
  </a>

Consulta il manifest Android Zxing, che definisce il pacchetto e l'host.

Quando viene specificato un URL di riserva, l'URL completo ha il seguente aspetto:

   <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
    Take a QR code
  </a>

Ora l'URL indirizza gli utenti a zxing.org se non è possibile trovare l'app, se il link viene attivato da JavaScript senza gesto dell'utente o se non viene avviata un'applicazione esterna.

considerazioni

Se richiami un'attività Android con un intent che contiene Extra, puoi includere anche questi dettagli.

Solo le attività con il filtro di categoria android.intent.category.BROWSABLE possono essere richiamate utilizzando questo metodo, poiché indica che è possibile aprire l'applicazione in sicurezza dal browser.

Chrome non avvia un'app esterna per un determinato URI intent se:

  • L'URI Intent viene reindirizzato da un URL digitato;
  • L'URI intent viene avviato senza gesto dell'utente.