Как поймать намерения общего доступа Android, ограниченные определенными URL, используя фильтр намерений - PullRequest
10 голосов
/ 13 февраля 2011

Я могу подключить свое приложение к функции «Поделиться страницей», используя следующий фильтр намерений:

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/plain" />

Но я бы хотел пойти немного дальше и ограничить фильтр намерениями с конкретными URL-адресамиих, например, URL видео на YouTube.Я пробовал что-то подобное, но это не работает:

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data
    android:mimeType="text/plain"
    android:scheme="http"
    android:host="m.youtube.com"
  />

Есть предложения?

1 Ответ

7 голосов
/ 13 февраля 2011

Но я бы хотел пойти немного дальше и ограничить фильтр намерениями с конкретными URL-адресами в них, например, URL-адресом видео на YouTube.

То, о чем вы просите, делаетне имеет смысла для меня, как написано.

Возможно, вы действительно имеете в виду:

Но я хотел бы пойти немного дальше и ограничить фильтр запросами ACTION_SEND, где дополнительный элемент body содержит определенныйURL

В таком случае это невозможно, извините.

Или, возможно, вы действительно имеете в виду:

Но я бы хотел немного пойтидалее и ограничьте фильтр запросами ACTION_SEND, исходящими от случайных программ, которые думают об определенном URL-адресе в тот момент, когда пользователь нажимает «поделиться», например, обменивается текущим видео YouTube, воспроизводимым в приложении YouTube

В таком случае это невозможно, извините.

Если ни одна из этих догадок не соответствует действительности, о чем вы просите, рассмотрите возможность редактирования вашего вопроса.

...