WebView: YouTube aus WebView starten

  • Antworten:10
boehse04
  • Forum-Beiträge: 15

21.01.2014, 14:34:49 via Website

Hallo,

habe leider ein Problem bei meiner App.
Ich würde gerne ein embedded YouTube-Video aus der App heraus in der YouTube-App starten.
Versucht habe ich es mit folgendem Code:
1public boolean shouldOverrideUrlLoading(WebView view, String url) {
2 if (url.startsWith("vnd.youtube")){
3 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
4 return true;
5 }
6}
Und dieser Anpassung in der Manifest:
1<intent-filter>
2 <action android:name="android.intent.action.VIEW"></action>
3 <category android:name="android.intent.category.DEFAULT</category>
4 <category android:name="android.intent.category.BROWSABLE"></category>
5 <data android:host="www.youtube.com" android:scheme="http"></data>
6</intent-filter>
Bei mir kommt aber nur kurz ein Ladesymbol auf dem YouTube-Video und danach passiert nichts.
Hat jemand eine Lösung?

Antworten
impjor
  • Forum-Beiträge: 1.793

21.01.2014, 14:52:06 via App

Warum musst du dein Manifest dafür anpassen? Wird denn der Code von startActivity ausgeführt? (mit Log-Ausgabe, Breakpoint o.ä. testen).

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
boehse04
  • Forum-Beiträge: 15

21.01.2014, 14:55:05 via Website

Habe die Methode aus einem anderen Thread hier im Forum der allerdings geschlossen wurde. Ich bin mir selber nicht so sicher wieso ich da die Manifest ändern soll. Habe es nur so übernommen, angepasst und getestet.

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.961

22.01.2014, 11:51:01 via App

Du musst nur die Url des Video auslesen bzw. vergleichen wenn es eine YoutubeUrl ist dann das Intent an die YT App abfeuern. Das war die Theorie nur umsetzen 😂

Edit: denke dran das es User gibt die vielleicht YT-App deinstalliert haben.

— geändert am 22.01.2014, 11:53:09

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
boehse04
  • Forum-Beiträge: 15

22.01.2014, 11:54:28 via App

Ja so habe ich mir das auch schon gedacht aber das klappt bei mir einfach nicht..

Antworten
boehse04
  • Forum-Beiträge: 15

22.01.2014, 12:33:37 via App

Siehst du doch oben

Antworten
boehse04
  • Forum-Beiträge: 15

23.01.2014, 07:45:27 via App

Wie gesagt habe das so aus nem anderen thread übernommen.
und der Debugger erreicht aus irgendeinem Grund die in Abfrage nicht wenn ich auf das Video gehe nur wenn ich einen anderen Link öffne.

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

23.01.2014, 09:54:58 via Website

Verstehe das so das du http://youtube in deiner App überschreibst, damit verhinderst du doch erst das sich die APP öffnet.

Du kannst aber mal den PackageManager benutzen um rauszufinden welche App auf den Intent reagieren würde:

1PackageManager.queryIntentActivitys(deinIntent,evtlNochFlagsSetzen);


Das ResolveInfo dazu würde Ich mir mal ausgeben lassen!

hth,
Mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
boehse04
  • Forum-Beiträge: 15

23.01.2014, 14:08:13 via Website

Habe inzwischen herausgefunden, dass er nicht versucht die URL zu öffnen, sondern versucht das Video direkt auf der Seite abzuspielen aber das funktioniert nicht und er bricht beim laden ab.
Gibt es eine Möglichkeit ihm entweder zu ermöglichen das Video direkt im WebView abzuspielen oder diese Anfrage das Video abzuspielen abzufangen und die YouTube App zu starten?
Habe mit dem Debugger nen Breakpoint an der Stelle im Code gesetzt an der er die URL wechseln würde aber ihm wird durch den Start des Videos garkeine URL übergeben also kann das ja garnicht funktionieren was ich oben als Code gepostet habe...

EDIT: Habe mal Google als URL eingegeben und dann nach einem Youtube-Video gesucht. WEnn ich diesen Link öffne, dann startet die YouTube-App wie gewollt. Aber bei einem Embedded Video startet nichts. Weder das Video noch YouTube.

— geändert am 23.01.2014, 14:14:11

Antworten