2012-05-03 8 views
0

私は現在アンドロイドでwebviewを持っています。
しかし、WebViewがそうでユーチューブ/フラッシュ動画、mp3のの、のMP4の、3GPのと含まれている特定のURLを表示することができません....アンドロイドのhttp URLでインテントを呼び出す

は、内部のアプリケーションがこれらのフォーマットを再生することができるかどうかをチェックすることが可能です。
I.E. URLがyoutubeビデオに転送されると、YouTubeアプリを起動します(利用可能な場合)。またはURLがmp3ビデオに転送されると、それが音楽プレーヤーに転送されます。

処理されるURLは外部JSONから送信されるため、可変です。

さらに、URLが単純なWebページ(Webブラウザ以外のアプリケーションは処理できない)の場合は、webviewに表示する必要があります。

私はarroundの閲覧したと私は、このスタートを思い付いた:

String url = "url here for example youtube.com/watch?v=....."; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

私は上記のこの部分をテストすることができませんでしたが、このsnipetに欠けているものは、URLが単純であればということであり、私はウェブブラウザーを始めたいとは思っていませんが、私はそれを私の簡単なwebviewに表示したいだけです。事前に

おかげで、

+0

は、私は私が答えを見つけたと思う:[queryIntentActivities](http://developer.android.com/reference/android/content/pm/PackageManager.html) これを: はアンドロイドpackagemanagerはメソッドを持っていますメソッドは、意図のAction_VIEWに与えられたURLを聞くことができる可能なアクティビティを返します。メソッドがウェブブラウザを返すだけなら、それはウェブビューのアクティビティを表示します –

答えて

1

あなたは、あなたのWebビューにWebViewClientを設定し、shouldOverrideUrlLoading方法をovverideすることができます。 URLが.mp3(特定の形式)で終わっている場合は、インテントを開始するか、onReceivedErrorメソッドとプロセスエラーを上書きしてください。

+0

あなたの応答に感謝します。しかし、私はすべての可能なURLでインテントを起こしたいと思います。 )多くのURLタイプがあるので、私はオープンソースのアプリケーションに取り組んでいるので、よりクリーンなソリューションがあれば、それは良いだろう:) –

関連する問題