Вопрос по android-intent, share, android, video, youtube – Android YouTube: поделиться видео YouTube для моего приложения?

19

Встроенное приложение YouTube для планшетов имеет функцию обмена. Например: я смотрю видео в приложении YouTube и нажимаю кнопку, чтобыshare, Bluetooth, Googlemail и Dropbox появляются для меня. Интересно, как я могуlist my app there? Какой фильтр намерений должен иметь мое приложение? Как яget the video url затем? Любая идея? Благодарю.

Ваш Ответ

2   ответа
33

Добавьте этот фильтр намерений в файл манифеста, чтобы приложение появилось в списке общих ресурсов приложения YouTube.

<intent-filter>
   <action android:name="android.intent.action.SEND" />
   <category android:name="android.intent.category.DEFAULT" />              
   <data android:host="www.youtube.com" android:mimeType="text/*" />
</intent-filter>

Затем, чтобы получить его в своей деятельности, используйте это:

Bundle extras = getIntent().getExtras();
 String value1 = extras.getString(Intent.EXTRA_TEXT);

Вот ты где!

Спасибо! работал так, как я хочу, чтобы это работало. Carsten Drösser
Это работает, но android: схема отсутствует в & lt; data & gt; что мы должны там поместить?
Вы можете добавитьandroid:scheme="http" в<data  с более новыми версиями Android. @PedroD
Этот ответ не работает исключительно для YouTube, вы можете поделиться любым текстом в своей деятельности, если вы используете этоintent-filter, Я думал, что это из-за отсутствующей схемы, но добавивhttps схема удаляетmyApp от IntentChooser в целом.
Почему, черт возьми, это работает, но этот (stackoverflow.com/questions/525063/…) не?
0

что YouTube изменил намерение поделиться, поэтому для меня единственное решение, которое работает, это то, которое я скопировал из манифеста Android Telegram. Решение протестировано и работает на Marshamallow 6.0.1 и Lolipop 5.1.1.

        <intent-filter android:label="@string/app_name">
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="*/*"/>
        </intent-filter>

Похожие вопросы