Możesz uruchamiać aplikacje bezpośrednio ze strony internetowej na urządzeniu z Androidem za pomocą intencji Androida. Aby uruchamiać aplikację przy użyciu schematu niestandardowego lub użyć składni intent:
, możesz zaimplementować gest użytkownika.
Utwórz kotwicę intencji i umieść ją na stronie, aby użytkownik mógł zdecydować o uruchomieniu aplikacji. Zapewnia to elastyczność w zakresie sposobu i czasu uruchamiania aplikacji, a także przekazywania informacji do aplikacji za pomocą dodatków do intencji.
Podstawowa składnia identyfikatora URI opartego na intencji wygląda tak:
intent:
HOST/URI-path // Optional host
#Intent;
package=\[string\];
action=\[string\];
category=\[string\];
component=\[string\];
scheme=\[string\];
end;
Szczegółowe informacje znajdziesz w kodzie źródłowym Androida.
Jeśli intencja nie zostanie rozpoznana lub nie uruchamia się aplikacja zewnętrzna, użytkownik może zostać przekierowany na zastępczy URL. Zastępczy URL możesz określić za pomocą intencji dodatkowej:
S.browser_fallback_url=[encoded_full_url]
Użyj dodatków do definiowania intencji S.<name>
. Ten dodatkowy dodatek jest
kompatybilny wstecz. Chrome usuwa właściwość browser_fallback_url
, więc docelowa aplikacja nie widzi tej wartości.
Chrome nie uruchamia aplikacji zewnętrznej w tych przypadkach:
- Nie udało się rozpoznać intencji. Innymi słowy, żadna aplikacja nie może obsłużyć intencji.
- Licznik JavaScript próbował otworzyć aplikację bez gestu użytkownika.
Przykłady
Oto intencja powodująca uruchomienie aplikacji skanera kodów kreskowych Zxing:
intent:
//scan/
#Intent;
package=com.google.zxing.client.android;
scheme=zxing;
end;
Aby uruchomić aplikację skanera kodów kreskowych Zxing, zakoduj href
w kotwicy:
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
Take a QR code
</a>
Zobacz plik manifestu Android Zxing, który określa pakiet i hosta.
Po określeniu zastępczego adresu URL pełny adres URL wygląda tak:
<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>
Teraz adres URL kieruje użytkowników do strony zxing.org
, jeśli nie można znaleźć aplikacji, link jest wyzwalany przez JavaScript bez gestu użytkownika lub w innych przypadkach, gdy nie uruchamiamy aplikacji zewnętrznej.
co należy wziąć pod uwagę
Jeśli wywołujesz aktywność na Androidzie z intencją zawierającą dodatkowe informacje, możesz też uwzględnić te szczegóły.
Za pomocą tej metody można wywoływać tylko działania z filtrem kategorii (android.intent.category.BROWSABLE), ponieważ wskazuje ona, że aplikację można bezpiecznie otworzyć w przeglądarce.
Chrome nie uruchomi zewnętrznej aplikacji w przypadku danego identyfikatora URI intencji, jeśli:
- identyfikator URI intencji jest przekierowywany z wpisanego adresu URL;
- Identyfikator URI intencji jest inicjowany bez gestu użytkownika.