当前位置:  开发笔记 > 编程语言 > 正文

如何在Android webview中停止播放YouTube视频?

如何解决《如何在Androidwebview中停止播放YouTube视频?》经验,为你挑选了6个好方法。

如何停止在我的网页浏览中播放的YouTube视频?当我点击后退按钮时,视频不会停止,而是在后台继续播放.

码:

webView = (WebView) findViewById(R.id.webview); 
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(false); 
webView.getSettings().setSupportZoom(false);
webView.loadData(myUrl,"text/html", "utf-8");

Andrew Thomp.. 88

请参阅以下帖子,了解WebView线程永不停止

基本上你需要从你自己的Activity的onPause方法调用WebView的onPause方法.

唯一的技巧是你不能直接调用WebView的onPause方法,因为它是隐藏的.因此,您需要通过反射间接调用它.以下代码可以帮助您开始设置自己的Activity的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) {
        ...
    }
}

请注意,上面try块中的变量"webview"是类的私有实例变量,并在Activity的onCreate方法中赋值.



1> Andrew Thomp..:

请参阅以下帖子,了解WebView线程永不停止

基本上你需要从你自己的Activity的onPause方法调用WebView的onPause方法.

唯一的技巧是你不能直接调用WebView的onPause方法,因为它是隐藏的.因此,您需要通过反射间接调用它.以下代码可以帮助您开始设置自己的Activity的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) {
        ...
    }
}

请注意,上面try块中的变量"webview"是类的私有实例变量,并在Activity的onCreate方法中赋值.


答案不是最新的.API已更改,webview.onPause()现已可用.正确的似乎是:http://stackoverflow.com/questions/5946698/how-to-stop-youtube-video-playing-in-android-webview/25380464#25380464
我试图把逻辑放在"后退按键"中.但它没有用.这个有效

2> vishesh chan..:

解决方案:1 - 花了很多时间后,我得出结论暂停正在播放