Ich habe diesen Code, der funktioniert und das einzige Problem damit ist, dass, wenn ich das WebView verlassen und sogar die App schließen, und drücken Sie sogar auf das Telefon, das Audio von den Podcasts spielt weiter.Android - beim Beenden eines WebView, das Audio immer noch spielt
Würde jemand wissen, wie man das stoppt? Hier
ist der Code:
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();
}
Ich bin mir nicht sicher, aber versuchen Sie einfach, den Cache beim Beenden zu löschen. In 'onPause()': 'mWebView.clearCache (true); mWebView.getSettings(). setAppCacheEnabled (false); ' –
Probieren Sie es jetzt aus - danke. Werde zurück melden, was in ein paar Minuten passiert :) – Genadinik
Es heißt eigentlich, dass super.onPageFinished (view, url); ist für den Typ Aktivität nicht definiert. Würdest du wissen, was getan werden muss, damit es funktioniert? – Genadinik