2012-05-31 69 views
0

Iam在我的應用程序中使用WebView加載遠程URL.It能夠加載遠程URL成功。但每當我嘗試切換我的應用程序之間的背景前景,有時我的電流包含WebView的活動正在刷新。如何避免當我從後臺切換到前臺時刷新我的WebView。Iam在我的Activity中沒有使用onResume()。可能的應用程序版本是2.2.My AndroidManifest.xml文件中的Activity標記如下。如何在Android中停止WebView的自動刷新

<activity 
     android:name=".Main" 
     android:screenOrientation="portrait" android:configchanges="orientation|keyboardHidden|locale|uiMode|mcc|mnc|touchscreen|keyboard"> 
    </activity> 

感謝&問候, Venkat。

回答

2

儘量覆蓋WebViewClient,是這樣的:

 webView.setWebViewClient(new WebViewClient(){ 
    private boolean alreadyLoaded = false; 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
       if (alreadyLoaded) 
        return; 
       alreadyLoaded = true; 
       super.onPageStarted(view,url,favicon); 
     } 

     @Override 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      super.onReceivedError(view, errorCode, description, failingUrl); 

     } 


     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
     } 

    }); 
0

添加機器人:launchMode =「singleTask」,以主要活動在AndroidManifest.xml

0

你必須保存網頁視圖的狀態,並恢復它在onCreatesavedInstanceState != null。 網絡視圖具有功能saveState(..),您可以使用該功能將狀態保存在活動的onSaveInstanceState(..)中。

在你的活動:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    if(savedInstanceState != null){ 
     mWebView.restoreState(savedInstanceState); 
    } 
} 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    mWebView.saveState(outState); 
}