본문 바로가기

내컴퓨터/안/드/로/이/드

[WebView] kitkat ERR_CACHE_MISS 발생

하이브리드 앱 개발 중.

WebView에서 postUrl로 데이터를 전달해 주는 기능이 있었다.

그런데 키캣에서 back키 누르면,

페이지 에러 발생. -ㅅ-

 

onReceivedError에서 에러를 출력해 보니..

ERR_CACHE_MISS 란다..(읭?????????????????????????????뭐지??)

인터넷을 찾아보니..chrome 관련..cache 관련...어쩌고...@_@

 

onFormResubmission()에서

resend.sendToTarget();를 해주면 된다는데..

해줘도 안된다..

 

열심히..삽질하다가..

버전별로 다르게 설정해주기로 했다.

 

WebView 설정에 아래 내용 추가.

 

if(18 < Build.VERSION.SDK_INT ){

//캐시 사용안함
mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

}

 

18= JellyBean MR2 버전 코드이다. (키캣 바로 이전~, 키캣은 19.)

저렇게 고정값으로 안하고,

Build.VERSION_CODES.JELLY_BEAN 등을 사용해도 된다.

그렇지만, 지금 개발환경에 있는 VersionCode 마지막이..17이므로...

할 수 없이..고정으로..넣어줌 ㅠㅠ

 

버전코드 참고>>http://developer.android.com/reference/android/os/Build.VERSION_CODES.html#KITKAT

 

왜인지 모르겠지만..

키캣에서는.. 저렇게 해줘야 페이지가 잘 동작.

다른 버전에서는 저렇게 해주면 페이지 오동작.

 

다음 버전 나왔을 땐..

어떻게 될지.. 알 수 없 음

 

아니면.

아주 간단한 방법!!

post방식 말고, get방식으로 넘기면 된다 -_-