Я создал приложение, где вы можете скачать видео с YouTube для Android. Теперь я хочу, чтобы, если вы воспроизводите видео в нативном приложении YouTube, вы также можете его скачать. Для этого мне нужно знать намерение, которое выдает нативное приложение YouTube, чтобы воспроизвести приложение YouTube.
Я мог бы сделать это легко, если бы на моем эмуляторе была установлена программа YouTube, поэтому мой первый вопрос:
1. Могу ли я загрузить приложение YouTube для своего эмулятора или ...
2. Какое намерение используется, когда пользователь выбирает видео для воспроизведения.
android
youtube
android-intent
emulation
Исаак Уоллер
источник
источник
Ответы:
А как насчет этого:
Примечание: будьте осторожны, когда вы используете этот метод, YouTube может приостановить ваш канал из-за спама, это случилось со мной два раза
источник
Это будет работать на устройстве, но не на эмуляторе согласно ответу Лемми .
источник
Вот как я решил эту проблему:
Теперь, когда я провел еще какое-то исследование, похоже, мне нужен был только vnd.youtube:VIDEO_ID, а не две косые черты после двоеточия (':' vs. ': //'):
http://it-ride.blogspot.com/2010/04/android-youtube-intent.html
Я попробовал большинство предложений здесь, и они не очень хорошо работали со всеми предполагаемыми «прямыми» методами, вызывающими исключения. Я бы предположил, что с моим методом, если приложение YouTube НЕ установлено, ОС по умолчанию имеет запасную позицию, отличную от сбоя приложения. Приложение теоретически работает только на устройствах с приложением YouTube, так что это должно быть проблемой.
источник
Используйте мой код ... Я могу воспроизводить видео YouTube с помощью этого кода ... вам просто нужно предоставить идентификатор видео YouTube в переменной "videoId" ....
источник
Где
videoId
находится идентификатор видео для YouTube видео, которое должно быть воспроизведено. Этот код отлично работает на Motorola Milestone .Но в основном то, что мы можем сделать, это проверить, какая активность загружается при запуске приложения Youtube и, соответственно, заменить имя_пакета и имя_класса.
источник
ERROR/AndroidRuntime(1519): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.google.android.youtube/com.google.android.youtube.PlayerActivity}; have you declared this activity in your AndroidManifest.xml?
Пожалуйста, разрешите это.Предполагается, что Youtube (и приложение Market) будут использоваться только со специальными ПЗУ, которые Google выпустила для G1 и G2. Таким образом, вы не можете запускать их в OpenSource-ROM, например, используемом в эмуляторе, к сожалению. Ну, может быть, вы можете, но не официально поддерживаемым способом.
источник
РЕДАКТИРОВАТЬ: ниже реализация оказалась проблема по крайней мере на некоторых устройствах HTC (они потерпели крах). По этой причине я не использую setclassname и придерживаюсь меню выбора действий. Я настоятельно не рекомендую использовать мою старую реализацию.
Ниже приводится старая реализация:
Где Utility - это мой собственный класс утилит со следующим методом:
Сначала я проверяю, установлен ли YouTube, если он установлен, я сообщаю android, в каком пакете я предпочитаю открывать свои намерения.
источник
Нашел это:
источник
Отвечая на старый вопрос, просто чтобы сообщить вам, ребята, что пакет изменился, вот обновление
Это работает очень хорошо, но когда вы вызываете обычный Intent с ACTION_VIEW с действительным URL-адресом YouTube, пользователь все равно получает селектор Activity.
источник
Самый безопасный способ запуска видео в другом приложении - сначала попытаться разрешить пакет, другими словами, проверить, установлено ли приложение на устройстве. Так что если вы хотите запустить видео на YouTube, вы должны сделать что-то вроде этого:
источник
На Youtube теперь есть плеер api, попробуйте.
https://developers.google.com/youtube/android/player/
источник
источник
Вы также можете просто взять
WebViewClient
Работало нормально в моем приложении.
источник
Попробуй это:
источник
Это будет работать, если приложение YouTube установлено. Если нет, то выбирается программа выбора, чтобы выбрать другое приложение:
источник
Попробуй это,
источник
Эта функция отлично работает для меня ... просто передайте строку url в функцию:
источник
Вы можете использовать API проигрывателя Android Android для воспроизведения видео, если установлено приложение Youtube, в противном случае просто предложите пользователю выбрать один из доступных веб-браузеров.
источник