2016-11-03 3 views
1

본질적으로 WebApp으로 리디렉션되는 간단한 Android 앱을 만들고 있습니다. 이렇게하려면 WebView을 사용합니다. 나는 "net ::: ERR_CACHE_MISS"오류가 발생하는데, 실패한 로그인 시도와 오리엔테이션 변경이있을 때만입니다. 왜 이것이 될 수 있는지 아는 사람 있습니까? 나는 거의 긍정적이다. WebApp으로 리디렉션하고있다. 아래잘못된 로그인 후 화면 회전시 Android Web App이 깨집니다.

코드 :

public class MainActivity extends Activity { 

WebView myWebView; 
String webURL = "omitted"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_main); 
    myWebView = (WebView) findViewById(R.id.webview); 
    myWebView.getSettings().setJavaScriptEnabled(true); 
    myWebView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    }); 

    if (savedInstanceState == null) { 
     myWebView.loadUrl(webURL); 
    } 
    else { 
     ((WebView) findViewById(R.id.webview)).restoreState(savedInstanceState); 
    } 

} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (event.getAction() == KeyEvent.ACTION_DOWN) { 
     switch (keyCode) { 
      case KeyEvent.KEYCODE_BACK: 
       if (myWebView.canGoBack()) { 
        myWebView.goBack(); 
       } else { 
        finish(); 
       } 
       return true; 
     } 
    } 

    return super.onKeyDown(keyCode, event); 
} 

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

@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) 
{ 
    super.onRestoreInstanceState(savedInstanceState); 
    myWebView.restoreState(savedInstanceState); 
} 

}

답변

1

가 AndroidMainfest.xml에서 활동 태그에서이

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 

을 넣어

+0

당신을 감사합니다! 이 작동합니다. 이것이 캐싱에 어떻게 도움이되는지 설명해 주시겠습니까? – James

관련 문제