如果我在网页浏览中加载www.youtube.com网址并选择任何视频,则不会触发播放器的新窗口。我应该在清单上为它设置一些东西吗?如果我使用标准浏览器的作品!事件shouldOverrideUrlLoading或任何其他未被触发。谢谢
webviewA.getSettings().setJavaScriptEnabled(true);
webviewA.getSettings().setUseWideViewPort(true);
webviewA.getSettings().setLoadWithOverviewMode(true);
webviewA.getSettings().setDomStorageEnabled(true);
webviewA.getSettings().setAllowFileAccess(true);
webviewA.getSettings().setGeolocationEnabled(true);
webviewA.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webviewA.getSettings().setBuiltInZoomControls(true);
webviewA.getSettings().setSupportZoom(true);
webviewA.getSettings().setPluginState(PluginState.ON);
webviewA.getSettings().setAllowContentAccess(true);
webviewA.setVerticalScrollBarEnabled(false);
webviewA.setHorizontalScrollBarEnabled(false);
webviewA.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
if (savedInstanceState == null){
String Url = "www.youtube.com/my-desired_channel";
webviewA.loadUrl(Url);
}
事件未被解雇,
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
not fired!!
}
答案 0 :(得分:1)
您可以使用类似 -
的内容startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=abcde")));
编辑:试试这个
webView.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// YouTube video link
if (url.startsWith("vnd.youtube:"))
{
int n = url.indexOf("?");
if (n > 0)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length(),n)));
}
return (true);
}
return (false);
}
});
答案 1 :(得分:0)
很抱歉要说明显而易见但您是否在清单文件中包含了“INTERNET”权限?
编辑:添加代码只是为了确保
你的清单中应该是这样的东西
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>