android 2.2 WebView和WebViewClient RTSP问题

时间:2010-07-21 23:27:13

标签: android uiwebview

我用webview编写了一个显示m.youtube.com的应用程序。它适用于其他Android版本。但是,在Android 2.2中,当单击“rtsp://vx.cache.youtube.com / ...”之类的链接时,甚至不会调用shouldOverrideUrlLoading。有没有人有同样的问题?

2 个答案:

答案 0 :(得分:3)

我找到了解决此问题的方法。

如果您在请求YouTube页面(http://m.youtube.com/)时更改WebView的用户代理,您将获得指向视频的正确链接。所有视频都将由YouTube内部应用程序打开。

以下是一些代码段:

final String url = "http://m.youtube.com/#/watch?xl=xl_blazer&v=osc8Gvz40C4";

final WebView viewWeb = new WebView(this);
viewWeb.getSettings().setJavaScriptEnabled(true);
String userAgent = viewWeb.getSettings().getUserAgentString();
userAgent = userAgent.replace("Android 2.2", "Android 2.1");
viewWeb.getSettings().setUserAgentString(userAgent);
viewWeb.loadUrl(url);

这有点棘手,但确实有效。期待找到修复但不是解决方法。

答案 1 :(得分:1)

mWebView.loadUrl(url);

if (url.contains("rtsp")) {
     Uri uri = Uri.parse(url);
     Intent intent = new Intent(Intent.ACTION_VIEW, uri);
     startActivity(intent);
}