Android Реагирует На URL в Intent
-
22-08-2019 - |
Вопрос
Я хочу, чтобы мое намерение запускалось, когда пользователь переходит по определенному URL:например, Android Market делает это с помощью http://market.android.com/ url-адреса.как и YouTube.Я хочу, чтобы мой тоже так делал.
Решение
Я сделал это!Используя <intent-filter>
.Поместите следующее в свой файл манифеста:
<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>
Это работает отлично!
Другие советы
Возможно, вам потребуется добавить различные перестановки в ваш фильтр намерений, чтобы заставить его работать в разных случаях (http / https / ect).
Например, мне нужно было сделать следующее для приложения, которое открывалось бы, когда пользователь открывал ссылку на Google drive forms, www.docs.google.com/forms
Обратите внимание, что префикс пути является необязательным.
<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>
Не связан с StackOverflow