Mam ten kod, który działa i jedynym problemem jest to, że jeśli opuszczę WebView, a nawet zamknę aplikację, a nawet naciśnij zasilanie telefonu, dźwięk z podcastów gra dalej.Android - po wyjściu z WebView, dźwięk nadal gra
Czy ktoś wie, jak to zatrzymać?
Oto kod:
public class PodcastsActivity extends BaseActivity //implements ActionBar.OnNavigationListener
{
WebView webview = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
//setTheme(R.style.Theme_Sherlock_Light);
super.onCreate(savedInstanceState);
//setContentView(R.layout.podcasts);
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.setBuiltInZoomControls(true);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
//webSettings.getMediaPlaybackRequiresUserGesture();
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");
}
// public void onBackPressed ()
// {
// Class.forName("com.***.HTML5WebView").getMethod("onPause", (Class[]) null).
// invoke(html5WebView, (Object[]) null);
// }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack())
{
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onStop()
{
super.onStop();
// your code
webview.clearView();
}
Nie jestem pewien, ale po prostu spróbuj wyczyścić pamięć podręczną przy wyjściu. W 'onPause()': 'mWebView.clearCache (true); mWebView.getSettings(). setAppCacheEnabled (false); ' –
Spróbuj teraz - dziękuję. Opowiem o tym, co stanie się za kilka minut :) – Genadinik
To rzeczywiście mówi, że super.onPageFinished (view, url); jest niezdefiniowany dla typu Activity. Czy wiesz, co należy zrobić, aby działało? – Genadinik