Chcę, aby moja intencja została uruchomiona, gdy użytkownik przejdzie do określonego adresu URL: na przykład Android Market robi to za pomocą http://market.android.com/ urls. tak samo jak youtube. Ja też chcę to zrobić.
Chcę, aby moja intencja została uruchomiona, gdy użytkownik przejdzie do określonego adresu URL: na przykład Android Market robi to za pomocą http://market.android.com/ urls. tak samo jak youtube. Ja też chcę to zrobić.
Odpowiedzi:
Ja to zrobiłem! Korzystanie <intent-filter>
. Umieść w pliku manifestu następujące informacje:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="www.youtube.com" android:scheme="http" />
</intent-filter>
To działa idealnie!
Może być konieczne dodanie różnych permutacji do filtru intencji, aby działał w różnych przypadkach (http / https / ect).
Na przykład musiałem wykonać następujące czynności dla aplikacji, która otwierałaby się, gdy użytkownik otworzył link do formularzy Google Drive, www.docs.google.com/forms
Zauważ, że prefiks ścieżki jest opcjonalny.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="http"
android:host="docs.google.com"
android:pathPrefix="/forms"/>
<data
android:scheme="http"
android:host="www.docs.google.com"
android:pathPrefix="/forms" />
<data
android:scheme="https"
android:host="www.docs.google.com"
android:pathPrefix="/forms" />
<data
android:scheme="https"
android:host="docs.google.com"
android:pathPrefix="/forms" />
</intent-filter>