如何在android webview中获取完成youtube视频的事件

Posted

技术标签:

【中文标题】如何在android webview中获取完成youtube视频的事件【英文标题】:how to get event of on completion of youtube video in android webview 【发布时间】:2011-11-22 00:00:28 【问题描述】:

我可以在 WebView 上播放 youtube 视频。我想在 youtube 视频完成后自动完成/关闭/销毁WebView

这是我的代码:

  WebView engine = new WebView(this);
  engine.getSettings().setjavascriptEnabled(true);
  engine.getSettings().setPluginsEnabled(true);
  engine.loadUrl("http://www.youtube.com/embed/bIPcobKMB94?autoplay=1&rel=0&loop=0");//&enablejsapi=1");
  setContentView(engine);

实际上,当播放列表中存在音频时,它在我的自定义播放器中播放并且当 YouTube 视频在 WebView 中播放时,我试图从播放列表中播放歌曲(音频/视频),并且歌曲正在自动播放一个接一个在完成的时候。 Youtube 视频在WebView 播放,但视频完成后,webview 仍然打开(不会被销毁/完成)。我怎样才能完成WebView 并返回之前的活动?

【问题讨论】:

你找到解决办法了吗 【参考方案1】:

android 的 webview 实现隐藏了底层 MediaPlayer 相关的 API 和回调。应用程序出现的唯一情况是用户尝试全屏显示(单击 WebView 中嵌入的视频中的全屏图标)。在这种情况下,如果应用程序已经实现并注册了 WebChromeClient 回调,就会回调 onShowCustomView()。您无法知道视频何时在 web 视图中播放完毕。

我知道这不是您问的问题:但为什么不通过发送一个播放 url 的意图来使用 youtube 应用呢?您可以使用 startActivityForResult() 方法,该方法将使用结果代码回调您的 onActivityFinished() API(您必须实现此回调)。这不适合你吗?

【讨论】:

感谢您的回答。但我不希望该用户走出我的应用程序。否则使用 startActivityForResult 是可能的

以上是关于如何在android webview中获取完成youtube视频的事件的主要内容,如果未能解决你的问题,请参考以下文章

android 开发webview如何加载p标签的html

android:webview中如何监听用户操作记录并获取其记录

如何从不在 Android 的 API 26 上的 WebView 获取 WebviewClient 实例?

Android webview - 如何从外部存储中获取文件

如何在 Android WebView 中使用 HitTestResult 获取链接 URL,用于使用 Longclick 链接图像(而不是图像 URL)

(转)完美解决 Android WebView 文本框获取焦点后自动放大有关问题