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");
И это работает просто отлично, и я могу воспроизводить подкасты, но проблема в том, что когда я покидаю экран, подкаст продолжает играть.
Кто-нибудь знает, что нужно сделать, чтобы предотвратить такое поведение?
Спасибо Алекс
2 ответа
Сделать что-то в onStop()
например загрузить пустую страницу в WebView
или, возможно, позвоните clearView()
в теме.
"Ошибка", которую вы видите, ничем не отличается от того, как ведут себя настольные браузеры. Если вы загрузите этот URL-адрес в браузере на рабочем столе и переключитесь на другую вкладку в браузере или свернете окно браузера, подкаст продолжит воспроизведение.
Вызов myWebView.clearView()
в onStop()
событие деятельности.
Деятельность и, следовательно, веб-просмотр не обязательно уничтожаются, когда они больше не видны. Это похоже на сворачивание браузера на рабочем столе.
Посмотрите на жизненный цикл деятельности для получения дополнительной информации.