如何在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中如何监听用户操作记录并获取其记录
如何从不在 Android 的 API 26 上的 WebView 获取 WebviewClient 实例?
Android webview - 如何从外部存储中获取文件
如何在 Android WebView 中使用 HitTestResult 获取链接 URL,用于使用 Longclick 链接图像(而不是图像 URL)