我一直在开发一个应用程序,要求指出我需要在 WebView 上打开一个 Youtube 链接。单击视频后,我需要打开 Youtube 应用程序来播放视频。
经过多次尝试并没有很成功地实现这个目标! 期待建议。
这是我尝试过的。
wb = (WebView)findViewById(R.id.web);
wb.getSettings().setJavaScriptEnabled(true);
wb.setWebViewClient(new MyClient());
wb.getSettings().setPluginsEnabled(true);
wb.getSettings().setPluginState(PluginState.ON_DEMAND);
wb.getSettings().setAllowFileAccess(true);
wb.getSettings().setAppCacheEnabled(true);
wb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wb.loadUrl("http://m.youtube.com");
private class MyClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
mHandler.post(new Runnable() {
public void run() {
if(!pgd.isShowing()){
pgd.show();
}
}
});
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("url loaded", "url::: " + url);
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
mHandler.post(new Runnable() {
public void run() {
if(pgd !=null && pgd.isShowing()){
pgd.dismiss();
}
}
});
super.onPageFinished(view, url);
}
}
任何指针将不胜感激。 谢谢。
最佳答案
好吧,如果你有视频的 URL,并且还在 android 设备上安装了 youtube 的应用程序,我有更好的主意。
使用 startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("youtube 视频的 url")));
这将弹出用户并显示浏览器和 YouTube 的选项,如果选择了 YouTube,视频将在 YouTube 播放器中播放。
关于android - WebView 上的 YouTube 链接打不开 Youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075742/