2013-07-13 12 views
0

У меня есть самая странная ошибка. Я бег этого точного кода, чтобы играть популярный бизнес-подкаста:Android WebView - при воспроизведении подкаста в веб-просмотре после выхода из экрана звук не останавливается

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    WebView webview = new WebView(this); 
    webview.getSettings().setAppCacheEnabled(false); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setInitialScale(1); 
    webview.getSettings().setPluginState(PluginState.ON); 

    webview.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

    WebSettings webSettings = webview.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setBuiltInZoomControls(true); 
    webSettings.setAllowContentAccess(true); 
    webSettings.setEnableSmoothTransition(true); 
    webSettings.setLoadsImagesAutomatically(true); 
    webSettings.setLoadWithOverviewMode(true); 
    webSettings.setSupportZoom(true); 
    webSettings.setUseWideViewPort(true); 

    setContentView(webview); 
    webview.loadUrl("http://www.stitcher.com/podcast/entrepreneuronfirecom/entrepreneur-on-fire-tim-ferriss-other-incredible-entrepreneurs");   

И это прекрасно работает, и я могу играть подкасты, но проблема в том, что когда я выхожу на экран, подкаст продолжает играть.

Кто-нибудь знает, что необходимо сделать для предотвращения такого поведения?

Спасибо, Alex

ответ

2

ли что-то в onStop(), например, нагрузка на пустую страницу в WebView, или, возможно, называют clearView() на нем.

«Ошибка», которую вы видите, ничем не отличается от того, как ведут себя настольные браузеры. Если вы загружаете этот URL-адрес в обозревателе рабочего стола, и вы переключаетесь на другую вкладку в браузере или сворачиваете окно браузера, подкаст продолжает играть.

3

Звоните myWebView.clearView() в onStop() мероприятие, связанное с деятельностью.

Деятельность и, следовательно, веб-просмотр не обязательно уничтожаются, когда он больше не виден. Это похоже на простое сокращение браузера на рабочем столе.

Для получения дополнительной информации см. Деятельность lifecycle.