Android: перехватить намерения Youtube? - PullRequest
1 голос
/ 09 апреля 2011

Я хотел бы перехватить намерение с BroadcastReceiver, в приложении YouTube, когда видео начинает воспроизводиться - мне удалось прочитать это из журналов:

Starting: Intent { cmp=com.google.android.youtube/.WatchActivity (has extras) } from pid 18710

Я пытался добавить это в манифест:

<intent-filter>
        <component android:name="com.google.android.youtube/.WatchActivity"/>

        </intent-filter>

Но это не сработало.

Что ты думаешь?

Ответы [ 2 ]

2 голосов
/ 10 апреля 2011

Если вы хотите, чтобы ваше приложение отвечало на специально сформированные URL-адреса HTTP, такие как URL-адрес видео на YouTube, настройте фильтр намерений, который отвечает на намерения ACTION_VIEW, с помощью элемента , который определяет шаблон URLВы хотите соответствовать.

Android использует ACTION_SEND намерения делиться ссылками или фотографиями.Ваше приложение также может отвечать на общие ссылки.Установка этого будет почти такой же, как установка фильтра намерений для намерений ACTION_VIEW.

См. Раздел «Проверка данных» документации Android по фильтрам намерений здесь для получения более подробной информации.

Так или иначе, не существует способа «шпионить» за другим приложением стороннего производителя, если оно не публикует информацию для чтения другими приложениями.Оба вышеупомянутых подхода будут связаны с тем, что пользователь специально указывает системе использовать ваше приложение для обработки рассматриваемого URL-адреса.Во-первых, пользователь сначала выбирает, какое приложение использовать для просмотра контента.Во-вторых, пользователь должен будет нажать кнопку «Поделиться» в исходном приложении и выбрать, чтобы поделиться ссылкой на ваше приложение.

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

2 голосов
/ 09 апреля 2011

Что вы думаете?

Вы не можете "перехватить намерение с помощью BroadcastReceiver", когда этот Intent используется для запуска действия.

Также, в <intent-filter>.

нет элемента <component>.
...