마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 웹뷰 문제 입니다.

0 추천
이미 구글링을 해봤는데 정보가 거의 없는거 같아요 그래서
혹시나 하여 질무을 올립니다.
 
지금 제가 하는 거는 웹뷰에 shouldOverrideUrlLoading에서 특정 url을 감지 하려고 합니다.
잘 되었습니다.
단 어제 부터 갑자기 터치를 해도 인식이 안됩니다.;
다른 단말기도 마찬가지의 로그가 뜹니다.
 
V/WebViewInputDispatcher(32464): blockWebkitDraw
V/WebViewInputDispatcher(32464): blockWebkitDraw lockedfalse
V/webview(32464):  singleCursorHandlerTouchEvent -getEditableSupport  FASLE 
 
이런 로그가 뜨는데 이게 원인이 먼지는 모르겠지만 일단 터치가 인식이 안되는거 같아요;;
웹뷰 설정은 이렇습니다.
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setVerticalScrollBarEnabled(false); 
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setAppCachePath("");
mWebView.getSettings().setAppCacheMaxSize(5 * 1024 * 1024);
mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
mWebView.getSettings().setUserAgent(0); 
 
mWebView.getSettings().setJavascriptEnabled(true);
mWebView.getSettings().setJavascriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setDefaultZoom(ZoomDensity.FAR);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON_DEMAND);
mWebView.getSettings().setSavePassword(false);
 
이렇게 설정 되어 있습니다. 
 
shouldOverrideUrlLoading에서 특정 url을 감지 한 후에 해당 url 일 때 다이얼로그를 띄우는데요
 
웹뷰의 로딩 페이지는 php를 띄웁니다.;
 
맨처음부터 잘 동작 하였고 중간 중간 수정 하다가 오래간만에 클릭 했는데 갑자기 저런 로그가 뜨면서 안되네요;;
혹시 저랑 비슷한 증상이신 분이 계신가요? ㅠㅠ 조언 좀 부탁 드립니다.
 

 

오로도로동 (520 포인트) 님이 2014년 1월 16일 질문

1개의 답변

0 추천

저도 구글링을 해보니 singleCursorHandlerTouchEvent -getEditableSupport  FASLE 에러가  날 때에는 해당 view에 requestFocus()를 호출해보라고 하네요. 한번 시도해보시는 것이 어떨까요?

 

그리고 위 코드에서 webView.setWebViewClient(new MyWebViewClient());은 안 보이네요. 설정이 복잡해보이는데 테스트로 꼭 필요한 설정만 남겨놓고 다시 테스트해보면 괜찮을 것 같은데요.

 

방귀과장 (18,940 포인트) 님이 2014년 1월 16일 답변
저 상단에 있는 설정이 필요한 설정 들이구요
setWebViewClient 이건 제가 추가를 안했네요;;
소스 상에는 존재 합니다.

결정적으로 웹뷰에 터치와 클릭 롱클릭 리스너를 다 달아 봤는데 다 감지는 하네요
shouldOverrideUrlLoading 이게 호출이 안됩니다.;;

setWebViewClient안에 존재 하는데 말이죠.. 하아.. ㅠ
결국 실행 하는건 php의 a 태그인데 주소도 다 가져오는데
왜 페이지 이동이 안되는건지 모르겠습니다.;;
shouldOverrideUrlLoading 이건 페이지 이동시 무조건 따라 온다고 들었는데요
결정적인 페이지 이동이 안먹히네요...
ㅠㅠ 말씀해 주신 리퀘스트는 구글링을 통해서 이미 해보았습니다.;;
다른걸 찾고 있는데 제 가 생각 했던거 안에 말고 다른게 작용 하는게 아닌가 싶네요 ㅠ
...