Webview视频不会停留在Backpress - Android上

时间:2013-09-12 04:59:48

标签: android android-intent android-webview webchromeclient

在我的Android应用程序中,我想在Webview中打开一个网页。我要打开的网页也包含视频。为了实现此功能,我在我的应用程序中使用了WebChromeClient。问题在于,OnBackPressed()此活动,虽然我的Webview活动已完成,但有些视频并未停止播放并且仍在后台播放。我不知道为什么会这样。我尝试了各种代码,但无法解决这个问题。有些视频会自动停止播放,但有些视频会在后台播放。如何解决这个问题?

请帮我解决这个问题。

这是我的代码:

@Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("Test HTML5:-", "onDestroy Called...");
        mWebView.stopLoading();
        // mWebView.clearCache(true);
        // mWebView.clearHistory();
        // mWebView.pauseTimers();
        abc.removeView(mWebView);
        mWebView.removeAllViews();
        mWebView.destroy();
        mWebView = null;
        finish();
        Intent i = new Intent(getApplicationContext(), MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(i);
    }

2 个答案:

答案 0 :(得分:1)

在onPause()上编写此代码

@Override
    protected void onPause() {
        super.onPause();
        Log.e("Test HTML5:-", "onDestroy Called...");
        mWebView.reload();
        Intent i = new Intent(getApplicationContext(), MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(i);
    }

答案 1 :(得分:1)

使用onBackPressed

 @Override
    public void onBackPressed() {
        mWebView.stopLoading();
        mWebView.removeAllViews();
        mWebView.destroy();
        mWebView = null;
        finish();
        super.onBackPressed();
    }