Android Intents mit Chrome

Sie können Apps direkt von einer Webseite auf einem Android-Gerät mit einer Android Intent: Sie können eine Nutzergeste implementieren, um die App mit einer benutzerdefinierten Schemas erstellen oder die Syntax intent: verwenden.

Intent-Anker erstellen und in eine Seite einbetten, damit der Nutzer um die App zu starten. So können Sie flexibel entscheiden, wie und wann Apps eingeführt werden, Das bedeutet, dass du mit Intent Extras Informationen an die App weitergeben kannst.

Die grundlegende Syntax für einen Intent-basierten URI lautet wie folgt:

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

Weitere Informationen zum Parsen finden Sie im Android-Quellcode.

Wenn ein Intent nicht aufgelöst oder eine externe Anwendung nicht gestartet wird, kann der Nutzer zur Fallback-URL weitergeleitet werden. Sie können eine Fallback-URL angeben. mit einem Intent Extra:

S.browser_fallback_url=[encoded_full_url]

Verwenden Sie S.<name>, um Intent-Extras zu definieren. Dieses besondere Extra abwärtskompatibel sein. Chrome entfernt browser_fallback_url, sodass das an der Ziel-App diesen Wert nicht erkennt.

Chrome startet in den folgenden Fällen keine externe Anwendung:

  • Der Intent kann nicht aufgelöst werden. Mit anderen Worten: Keine App kann den Intent verarbeiten.
  • Ein JavaScript-Timer hat versucht, eine Anwendung ohne Nutzergeste zu öffnen.

Beispiele

Hier sehen Sie einen Intent, der die Zxing-Barcode-Scanner-App startet:

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

Codieren Sie href auf dem Anker, um die Zxing-Barcode-Scanner-App zu starten:

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

Paket und Host werden im Android Zxing-Manifest definiert.

Wenn eine Fallback-URL angegeben ist, sieht die vollständige URL so aus:

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

Jetzt werden Nutzer über die URL an zxing.org weitergeleitet. Wenn die App nicht gefunden wird, lautet der Link: ausgelöst durch JavaScript ohne Nutzergeste oder durch andere Fälle, in denen eine externe App zu starten.

Hinweise

Wenn Sie eine Android-Aktivität mit einem Intent aufrufen, der Extras enthält: können Sie diese Details auch angeben.

Nur Aktivitäten mit dem Kategoriefilter android.intent.category.BROWSABLE kann mit dieser Methode aufgerufen werden, da sie angibt, dass die Anwendung sicher ist. im Browser geöffnet werden soll.

Chrome startet in folgenden Fällen keine externe App für einen bestimmten Intent-URI:

  • Der Intent-URI wird von einer eingegebenen URL weitergeleitet.
  • Der Intent-URI wird ohne Nutzergeste initiiert.