2011-01-26 10 views
2

J'ai une WebApp montrée avec Webview. Dans ces pages, j'ai des liens vers des vidéos (MP4, 3GP ...). Lorsque je clique sur le lien, rien ne s'est passé? Quelqu'un peut-il m'aider à propos de cette affaire? J'ai trouvé des parties sur ce code sur ce serveur, mais cela ne m'aide pas.Ouvrez le lecteur vidéo dans Webview?

 if (url.endsWith(".3gp")) { 
      Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url)); 
      view.getContext().startActivity(intent);  
      return true; 
     } else { 
      return super.shouldOverrideUrlLoading(view, url); 
     } 

Dans ce cas, je suis limité aux fichiers 3GP, mais I'don't sais quelle extension sera lieu sur le site.

J'ai tryed ce code thisout le test, pour voir si la vidéo pourrait être joué (ou videoplayer commencer par ce code que

   Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url)); 
      view.getContext().startActivity(intent);  
      return true; 

Dans ce cas, la vidéo est seulement dowloaded. Je veux d'avoir l'interaction de l'échantillon comme webrowser. Lorsque je clique sur le lien vidéo, le navigateur demande Wich joueur que je veux à l'utilisateur pour cette vidéo.

Merci de votre aide.

Répondre

5

vous pouvez avoir plus de chance si vous spécifiez que l'uri contient une vidéo:Étant donné que nous n'avons pas spécifié de package spécifique pour gérer l'intention ci-dessus, il s'agit d'une intention implicite.

Intent intent = new Intent(Intent.ACTION_VIEW) //I encourage using this instead of specifying the string "android.intent.action.VIEW" 
intent.setDataAndType(Uri.parse(url), "video/3gpp"); 
view.getContext().startActivity(intent); 
Pour les intentions implicites, s'il y a plusieurs paquets qui gèrent le type de contenu que vous spécifiez, il vous sera demandé de choisir entre eux. Cela devrait vous donner le comportement désiré.