Android:Html 5 视频在活动完成时不会停止
Posted
技术标签:
【中文标题】Android:Html 5 视频在活动完成时不会停止【英文标题】:Android:Html 5 Video does not stop on activity finish 【发布时间】:2012-04-22 17:28:12 【问题描述】:我创建了一个 android 活动,其中我有一个网络视图。我已经给了 webview 的 html5 文件路径。
Html 5 文件包含一个视频标签,我在其中从服务器调用 android 兼容的 mp4 视频,例如:“http://xxx/test/abc.mp4”。
视频在 webview 中可以很好地播放,但是当视频处于缓冲模式并且我关闭 webview 或通过按 android 平板电脑上的后退按钮关闭活动时,即使活动完成,该视频仍会在背景中播放。
当我关闭活动并且视频处于播放模式(而不是缓冲模式)时,视频会正常停止而没有任何问题。
我已尝试关闭 webview 线程,如:“http://***.com/questions/5946698/how-to-stop-youtube-video-playing-in-android-webview”中所述,但没有运气。 ...
请在这方面提供帮助。我被困在过去 5 天的问题中。
提前谢谢... 克坦
【问题讨论】:
【参考方案1】:Raneez Ahmed 的回答是正确的。但是,如果您是为 API 级别 11 或更高级别开发,则可以直接访问 WebView.onPause 而无需反射:
@Override
public void onPause()
webview.onPause();
super.onPause();
记得也要实现 onResume:
@Override
public void onResume()
super.onResume();
webview.onResume();
【讨论】:
【参考方案2】:Refer this post
唯一的办法就是从自己Activity的onPause方法中调用WebView的onPause方法
@Override
public void onPause()
super.onPause();
try
Class.forName("android.webkit.WebView")
.getMethod("onPause", (Class[]) null)
.invoke(webview, (Object[]) null);
catch(ClassNotFoundException cnfe)
...
catch(NoSuchMethodException nsme)
...
catch(InvocationTargetException ite)
...
catch (IllegalAccessException iae)
...
【讨论】:
以上是关于Android:Html 5 视频在活动完成时不会停止的主要内容,如果未能解决你的问题,请参考以下文章
意式浓缩咖啡测试时,Android 设备不会在屏幕上启动活动
为视频播放器启动新活动时,如何强制android视频播放器在视频播放后不退出