在Android应用程序中关闭背景视频

时间:2013-04-04 13:54:58

标签: android video android-activity

我用两个Activity创建一个android应用程序。 我的第二个Activity包含一个youtube视频嵌入。 当我启动此活动并运行此视频时,它可以正常运行。 但当我关闭我的活动时,如果我的视频正在播放,我的活动已经关闭,但我听到了我的视频。 我认为我的视频并没有真正关闭,而且她正在背景中播放。

你可以帮帮我吗?

谢谢!

编辑:我在MyActivity中构建了一个测试,我遇到了同样的问题。

public class MyActivity extends Activity implements MBAdListener{

private FrameLayout layout;

/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    RelativeLayout adViewContainer = (RelativeLayout) findViewById(R.id.adView);
    layout = new FrameLayout(this);

    layout.setLayoutParams(new FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT,
            Gravity.CENTER)
    );
    layout.setBackgroundColor(Color.BLUE);
    setContentView(layout);
    WebView content = new WebView(this);
    content.setLayoutParams(new FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT,
            Gravity.CENTER
    ));
    content.setHorizontalScrollBarEnabled(false);
    content.setVerticalScrollBarEnabled(false);
    content.getSettings().setJavaScriptEnabled(true);
    content.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    content.getSettings().setBuiltInZoomControls(false);
    content.getSettings().setSupportZoom(true);
    content.getSettings().setUseWideViewPort(true);
    content.getSettings().setPluginsEnabled(true);
    content.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    content.getSettings().setSavePassword(true);
    content.getSettings().setSaveFormData(true);
    content.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

    layout.addView(content);

    content.loadData("<iframe width=\"320\" height=\"200\" src=\"http://www.youtube.com/embed/vCXRt0kQvUE?autoplay=1\" frameborder=\"0\" allowfullscreen></iframe>", "text/html", "UTF-8");

}

1 个答案:

答案 0 :(得分:1)

我发现了这个并且它有效!!!! 请参阅以下有关How to stop youtube video playing in Android webview?

的文章
@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) {
      ...
  }
}