Intent Android con Chrome

Puoi avviare 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 un schema personalizzato o utilizza la sintassi intent:.

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

La sintassi di base di 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 l'analisi dei dettagli, consulta l'articolo Codice sorgente Android.

Quando un intent non viene risolto o non viene avviata un'applicazione esterna, 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 degli extra per intent. Questo particolare extra è compatibili con le versioni precedenti. Chrome rimuove browser_fallback_url affinché l'app target non vede 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'intento.
  • Un timer JavaScript ha tentato di aprire un'applicazione senza gesto dell'utente.

Esempi

Ecco un intent che avvia l'app Zxing per la scansione di codici a barre:

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

Per avviare l'app Scanner codici a barre Zxing, 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 file manifest Android Zxing, che definisce il pacchetto e l'host.

Quando viene specificato un URL di riserva, l'URL completo avrà 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, il link è da JavaScript senza un gesto dell'utente o in altri casi in cui avviare 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 per categoria android.intent.category.BROWSABLE può essere richiamato utilizzando questo metodo, perché indica che l'applicazione è sicura dal browser.

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

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