2011-08-23 81 views
0

我在網頁視圖起到了SWF視頻,當我按下back_key,聲音依然存在。我不知道如何去破壞它... plz幫助我,代碼如下:如何銷燬WebView中的WebView活動和視頻?

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); 
     } 
    } 
} 

回答

2

在你使用之前,我們認爲你需要知道至少這一點。

LINK1

LINK2

EDIT

使用應用程序上下文總是實例化網頁視圖。

webView = new WebView(getApplicationContext()); 

如果您想在xml中使用webview。擴展它

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

,並使用它像這樣

<com.myapp.MyWebView ... 

,並在所有的地方,你不想要的任何視圖更多地調用它。

webView.destroy();  

因爲有時候可能不會調用Activity.onDestroy,Activity.onStop。

+2

你能給我一個更直接和相對的答案嗎? – Mark