我正在构建一个应用程序,webview加载youtube。 我希望当有人点击某个视频时,它会显示一个包含所点击链接的Toast。
我尝试过使用shouldOverrideUrlLoading,点击任意网址时都可以使用,但不能在youtube上使用。
问题是什么?我应该使用javascript吗?
感谢任何帮助。
我使用的代码如下 -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView mywebview = (WebView)findViewById(R.id.webView);
WebSettings webSettings = mywebview.getSettings();
webSettings.setJavaScriptEnabled(true);
mywebview.loadUrl("https://www.youtube.com");
mywebview.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
// do whatever you want to do on a web link click
String hello = url;
Toast.makeText(MainActivity.this,hello,
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
});
答案 0 :(得分:0)
试试这个
player.getVideoUrl():String
返回当前加载/播放视频的YouTube.com网址。
player.getVideoEmbedCode():String
返回当前加载/播放视频的嵌入代码。可以找到更多信息here。
答案 1 :(得分:0)
我使用高级Web视图对此进行了排序 https://github.com/delight-im/Android-AdvancedWebView
并在按钮上单击调用webview.getOriginalUrl(),以便在页面加载并单击按钮时,它会显示包含该链接的Toast。