J'ai créé une application où vous pouvez télécharger des vidéos YouTube pour Android. Maintenant, je le veux pour que si vous lisez une vidéo dans l'application native YouTube, vous puissiez la télécharger également. Pour ce faire, j'ai besoin de connaître l'intention de l'application native YouTube pour pouvoir lire l'application YouTube.
Je pourrais le faire facilement si j'avais le programme YouTube sur mon émulateur, donc ma première question est:
1. Puis-je télécharger l'application YouTube pour mon émulateur, ou ...
2. Quelle est l'intention utilisée lorsque l'utilisateur sélectionne une vidéo pour la lecture.
android
youtube
android-intent
emulation
Isaac Waller
la source
la source
Réponses:
Et que diriez-vous de ceci:
Remarque: méfiez-vous lorsque vous utilisez cette méthode, YouTube peut suspendre votre chaîne en raison de spam, cela s'est produit deux fois avec moi
la source
Cela fonctionnera sur un appareil mais pas sur l'émulateur selon la réponse de Lemmy .
la source
Voici comment j'ai résolu ce problème:
Maintenant que j'ai fait quelques recherches supplémentaires, il semble que je n'avais besoin que de 'vnd.youtube:VIDEO_ID' au lieu de deux barres obliques après les deux points (':' vs ': //'):
http://it-ride.blogspot.com/2010/04/android-youtube-intent.html
J'ai essayé la plupart des suggestions ici et elles ne fonctionnaient pas vraiment très bien avec toutes les méthodes supposées "directes" soulevant des exceptions. Je suppose que, avec ma méthode, si l'application YouTube n'est PAS installée, le système d'exploitation a une position de repli par défaut autre que le crash de l'application. L'application ne fonctionne théoriquement que sur les appareils avec l'application YouTube sur eux de toute façon, cela ne devrait donc pas être un problème.
la source
Utilisez mon code .. Je peux lire une vidéo youtube en utilisant ce code ... il vous suffit de fournir l'identifiant de la vidéo youtube dans la variable "videoId" ....
la source
Où se
videoId
trouve l'ID vidéo de la vidéo YouTube à lire. Ce code fonctionne bien sur Motorola Milestone .Mais en gros, ce que nous pouvons faire est de vérifier quelle activité est chargée lorsque vous démarrez l'application Youtube et de remplacer en conséquence le packageName et le className.
la source
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?
Veuillez résoudre ceci.YouTube (et l'application Market) ne sont censés être utilisés qu'avec des ROM spéciales, que Google a publiées pour le G1 et le G2. Vous ne pouvez donc pas les exécuter dans une ROM OpenSource, comme celle utilisée dans l'émulateur, malheureusement. Eh bien, peut-être que vous le pouvez, mais pas d'une manière officiellement prise en charge.
la source
EDIT: L'implémentation ci-dessous s'est avérée avoir des problèmes sur au moins certains appareils HTC (ils ont planté). Pour cette raison, je n'utilise pas setclassname et je m'en tiens au menu du sélecteur d'action. Je déconseille fortement d'utiliser mon ancienne implémentation.
Voici l'ancienne implémentation:
Où Utility est ma propre classe d'utilité personnelle avec la méthode suivante:
Tout d'abord, je vérifie si YouTube est installé, s'il est installé, je dis à Android quel package je préfère ouvrir mon intention.
la source
Je l'ai trouvé:
la source
En réponse à une vieille question, juste pour vous informer que le paquet a changé, voici la mise à jour
Cela fonctionne très bien, mais lorsque vous appelez Intent normal avec ACTION_VIEW avec une URL youtube valide, l'utilisateur obtient quand même le sélecteur d'activité.
la source
Le moyen le plus sûr d'exécuter des vidéos sur une application différente consiste à essayer d'abord de résoudre le package, en d'autres termes, de vérifier que l'application est installée sur l'appareil. Donc, si vous voulez diffuser une vidéo sur youtube, vous feriez quelque chose comme ceci:
la source
Youtube a maintenant une API de lecteur, vous devriez essayer cela.
https://developers.google.com/youtube/android/player/
la source
la source
Vous pouvez également simplement saisir le
WebViewClient
A bien fonctionné dans mon application.
la source
Essaye ça:
la source
Cela fonctionnera si l'application youtube est installée. Sinon, un sélecteur apparaîtra pour sélectionner une autre application:
la source
Essaye ça,
la source
Cette fonction fonctionne bien pour moi ... il suffit de passer la chaîne d'URL dans la fonction:
la source
Vous pouvez utiliser l'API du lecteur Youtube Android pour lire la vidéo si l'application Youtube est installée, sinon invitez simplement l'utilisateur à choisir parmi les navigateurs Web disponibles.
la source