WebView: YouTube aus WebView starten

  • 6 Antworten
  • Letztes Antwortdatum
B

boehse04

Neues Mitglied
0
Hallo,

habe leider das nächste 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:
Code:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.startsWith("vnd.youtube")){
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
      return true;
    }
}
Und dieser Anpassung in der Manifest:
Code:
<intent-filter>
         <action android:name="android.intent.action.VIEW"></action>
         <category android:name="android.intent.category.DEFAULT</category>
         <category android:name="android.intent.category.BROWSABLE"></category>
         <data android:host="www.youtube.com" android:scheme="http"></data>
</intent-filter>
Bei mir kommt aber nur kurz ein Ladesymbol auf dem YouTube-Video und danach passiert nichts.
Hat jemand eine Lösung?
 
Wie sieht denn die komplette URL aus?
 
Die Website befindet sich noch im Aufbau daher ist dort noch kein Video eingebunden worden.
Ich teste gerade die Funktion mit anderen Seiten auf denen schon Videos vorhanden sind.
 
ich mein auch die URL die an die methode übergeben wird.
 
Nen YouTube Link?
Das ist ein embedded Video und wenn ich auf das Video klicke, welches auf der Website angezeigt wird soll er die YouTube App öffnen.
Habe bei dem Funktionsaufruf schon verschiedene Strings bei .startswith() eingegeben wie zum Beispiel "www.youtube" aber nichts passiert
 
Deshalb ja die Frage was da überhaupt drinsteht.
Youtube hat sehr viele verschiedene URIs die von der App bearbeitet werden können.

com - YouTube, www.youtu.be, m.youtube, vnd.youtube etc.

Daher die frage ob dein startsWith überhaupt greift. vorallem wenn der URL string evtl nocht mit "http://" beginnt dann funktioniert dein startswith nämlich niemals.
 
Gibt es denn eine andere Möglichkeit Youtube zu starten oder das Video direkt in dem WebView anzuzeigen?
 
Zurück
Oben Unten