title: How do I stop Flash after leaving a WebView?
body: <p>I have an app that I've put together to stream flash video in a webview when a user clicks a button.</p>
  
  <p>It does this fine, but after backing out or losing focus, it looks like it continues to use data for a while until I assume when the system shuts the activity down. If I manually kill out of the activity screen, data use stops almost immediately. Just backing out and it can keep going for a while.</p>
  
  <p>Can someone help me out with my code, I would really appreciate it!</p>
  
  <pre><code>import java.lang.reflect.Method;
  import android.app.Activity;
  import android.os.Bundle;
  import android.webkit.WebSettings;
  import android.webkit.WebView;
  
  public class Video extends Activity {
  
  
      private WebView webview;
  
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.video);
  
  
      webview = (WebView) findViewById(R.id.webview);
  
  // resumeTimers() to account for the webview refcount bug (hopefully)
      webview.resumeTimers();
      WebSettings webSettings = webview.getSettings();
      webview.getSettings().setJavaScriptEnabled(true);
      webSettings.setPluginsEnabled(true);
      webview.setVerticalScrollBarEnabled (false);
      webview.setHorizontalScrollBarEnabled (false);
  
      webview.loadUrl("http://www.nasa.gov/multimedia/nasatv/nasatv_android_flash.html");
  }
  
  
  @Override
  protected void onPause() {
  pauseBrowser();
  super.onPause();
  }
  
  @Override
  protected void onResume() {
  resumeBrowser();
  super.onResume();
  }
  
  
  
  private void pauseBrowser() {
  
  // pause flash and javascript etc
  callHiddenWebViewMethod(webview, "onPause");
  webview.pauseTimers();
  }
  
  private void resumeBrowser() {
  
  // resume flash and javascript etc
  callHiddenWebViewMethod(webview, "onResume");
  webview.resumeTimers();
  }
  
  private void callHiddenWebViewMethod(final WebView wv, final String name){
      if( webview != null ){
          try {
              Method method = WebView.class.getMethod(name);
              method.invoke(webview);
          } catch (final Exception e) {
          }
      }
  }
  
  }
  </code></pre>