Android отвечает на URL-адрес в намерении
Я хочу, чтобы мое намерение было запущено, когда пользователь переходит на определенный url: например, android market делает это с http://market.android.com/ urls. как и youtube. Я постараюсь сделать это.
2 ответа:
Я сделал это! Используя
<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>