Вопрос

Я хочу, чтобы мое намерение запускалось, когда пользователь переходит по определенному 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top