如何在WebView中销毁WebView Activity和视频?

时间:2011-08-23 04:54:43

标签: android video flash android-webview

我在网页浏览中播放了一个SWF视频,当我按下back_key时,声音仍然存在..我不知道如何销毁它......请帮助我,代码如下:

public class Video extends Activity {
    private WebView webview = null;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        Intent intent = getIntent();
        String url = intent.getExtras().getString("Url");
        Log.i("URL OF VIDEO IS", url);
        setTitle("Video");
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.webpageview);
        webview = (WebView) findViewById(R.id.webview);
        webview.getSettings().setPluginsEnabled(true);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl(url);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //How can I destroy the Activity? I tried finish() it, but it doesn't works.
            webview.removeAllViews();
            return super.onKeyDown(keyCode, event);
        } else {
            return super.onKeyDown(keyCode, event);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

在你使用之前我们认为你需要知道至少这个。

LINK1

LINK2

修改

始终使用应用程序上下文实例化webview。

webView = new WebView(getApplicationContext());

如果你想在xml中使用webview。延伸它

    public MyWebView(Context context, AttributeSet attrs) {
    super(getApplicationContext(), attrs);
}

并像这样使用

<com.myapp.MyWebView ...

并在您不再需要该视图的所有地方调用此方法。

webView.destroy();    

因为有时可能无法调用Activity.onDestroy,Activity.onStop。