2013-04-04 77 views
0

我使用兩個Activity製作應用程序android。 我的第二個活動包含一個YouTube視頻嵌入。 當我啓動此活動並運行此視頻時,它可以正常工作。 但是,當我關閉我的活動時,如果我的視頻正在播放,我的活動已關閉,但我聽到了我的視頻。 我認爲我的視頻並沒有真正關閉,她在後臺播放。在應用程序的背景上關閉視頻Android

你能幫助我嗎?

謝謝!

編輯:我在我的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"); 

} 
+0

你如何關閉您的活動以下職位?你打電話給'finish()'還是在關閉時向活動提供任何命令? – Grambot 2013-04-04 13:57:35

+0

要關閉我的Activity,我使用onPause();的onStop();和onDestroy(); – floflo41 2013-04-04 14:03:08

+1

這些只是您在各個階段控制活動生命週期的重載方法。看到這個鏈接,你必須調用'finish()'來銷燬活動:http://developer.android.com/guide/components/activities.html#ShuttingDown – Grambot 2013-04-04 14:31:07

回答

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) { 
     ... 
    } 
} 
相關問題