2012-06-06 16 views
0

我想找到一個解決方案,在屏幕超時時允許我的WebView仍然活着。WebView在屏蔽超時時也不起作用

我計劃使用的WebView來播放音樂,它的工作非常正常,如果屏幕還活着,但在屏幕上的時間,我的音樂的WebView也不見了。

這裏是我的代碼:

public class WebViewActivity extends Activity { 

WebView mWebView; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.playlist); 

    mWebView = (WebView) findViewById(R.id.webView1); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.getSettings().setAllowFileAccess(true); 
    mWebView.loadUrl("http://mp3skull.com/usher.html"); 
} 
private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
     mWebView.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
@Override 
public void onPause() 
{ 
    mWebView.setVisibility(View.GONE); 
    mWebView.destroy(); 
    super.onPause(); 
} 
} 

我很害羞地告訴你,我試圖找到這個解決方案在一個多星期,但仍無法做到:(

希望您能給我。 。在這個問題上的解決方案

感謝您

回答

0

在類中刪除的onPause()方法,如下面的代碼:

public class WebViewActivity extends Activity { 

WebView mWebView; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.playlist); 

    mWebView = (WebView) findViewById(R.id.webView1); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.getSettings().setAllowFileAccess(true); 
    mWebView.loadUrl("http://mp3skull.com/usher.html"); 
} 
private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
     mWebView.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
} 
+0

親愛的Disnesh。我無法刪除onPause(),因爲此方法用於在用戶按下後退按鈕時在WebView中停止音樂。你有沒有刪除onPause其他方式?非常感謝Disnesh。 – SopheakVirak

+0

好吧,試試這個刪除語句mWebView.setVisibility(View.GONE); for onPause()方法..! – Dinesh

+0

Dinesh,已經移除mWebView.setVisibility(View.GONE);但當屏幕超時時,WebView中的音樂仍然消失。謝謝你幫助我。 – SopheakVirak