WebView: YouTube aus WebView starten

  • Antworten:10
  • OffenNicht stickyNicht beantwortet
  • 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
  • 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
  • Mod
  • Blogger
  • Forum-Beiträge: 7.158

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.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

Antworten
  • 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
  • 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
  • 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
  • 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

Empfohlene Artikel