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:.

Crea un'ancora di intent e incorporala in una pagina in modo che l'utente possa scegliere di avviare l'app. In questo modo, puoi passare informazioni all'app con Intent Extras, il che significa che puoi passare informazioni all'app con Intent Extras.

La sintassi di base per un URI basato sull'intenzione è 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 il codice sorgente di Android.

Quando un'intenzione non viene risolta o un'applicazione esterna non viene avviata, l'utente può essere reindirizzato all'URL di riserva. Puoi specificare un URL di riserva con un extra Intent:

S.browser_fallback_url=[encoded_full_url]

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

Chrome non avvierà un'applicazione esterna nei seguenti casi:

  • L'intent non può essere risolto. In altre parole, nessuna app può 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 di scansione codici a barre Zxing:

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

Per avviare l'app di scansione dei codici a barre Zxing, codifica il tuo href sull'ancora:

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

Consulta il file manifest di 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 l'app non viene trovata, se il link viene attivato da JavaScript senza un gesto dell'utente o in altri casi in cui non viene avviata un'applicazione esterna.

Considerazioni

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

Solo le attività con il filtro della categoria android.intent.category.BROWSABLE possono essere richiamate utilizzando questo metodo, in quanto indica che l'applicazione è sicura da aprire dal browser.

Chrome non avvierà 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.