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

특정 안드로이드 기종만 웹뷰 이벤트가 안먹혀요

0 추천
mWebView = (WebView) findViewById(R.id.webview);
    
           final JavaScriptInterface myJavaScriptInterface = new JavaScriptInterface(this);
           
        mWebView.setVerticalScrollbarOverlay(true);
        mWebView.setScrollBarStyle(0);
        mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        mWebView.getSettings().setPluginState(PluginState.ON_DEMAND);
        mWebView.getSettings().setPluginState(PluginState.ON);
        mWebView.getSettings().setLoadWithOverviewMode(true);
        mWebView.getSettings().setBlockNetworkImage(false);
        mWebView.getSettings().setLoadsImagesAutomatically(true);
        mWebView.getSettings().setSaveFormData(false);
        mWebView.getSettings().setSavePassword(false);
        mWebView.getSettings().setSupportMultipleWindows(true); // 팝업허용
        
        mWebView.getSettings().setSupportZoom(true); //웹뷰 확대,축소 기능
        mWebView.getSettings().setBuiltInZoomControls(true); //웹뷰 줌 기능 + 줌 아이콘 (+,-) 나옴(안드로이드에서 제공)
        mWebView.getSettings().setDisplayZoomControls(false); // 줌 아이콘 없앰
        
//        mWebView.getSettings().setLoadWithOverviewMode(true);
//        mWebView.getSettings().setUseWideViewPort(true);
        mWebView.loadUrl(Url);
        mWebView.getSettings().setJavaScriptEnabled(true); // 자바스크립트 사용
        mWebView.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
        

        mWebView.loadUrl("javascript:Login.setContentSize();"); //로그인화면 세로일때 css먹이기위해
        mWebView.loadUrl("javascript:Menu.setMainSize('Portrait');"); //메인화면 세로일때 css먹이기위해
        
        mWebView.setWebViewClient(new WebViewClient()
        {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                view.loadUrl(url);
                return true;
            };
        });

 

 

웹뷰 셋팅 이에요

 

 

이번에 웹 리뉴얼과동시에 앱도 새로 업데이트 했는데요

 

노트3같은 최근? 휴대폰 기종은 웹뷰 이벤트 (스크립트)가 잘되는데..

 

갤럭시 s3이하, 동급 기종은 스크립트가 안먹혀요..

 

혹시 이유를 알수잇을가요?

 

아래는 로그 입니다.

 

 

 

02-22 11:50:44.734: D/dalvikvm(28063): GC_FOR_ALLOC freed 100K, 13% free 9638K/11056K, paused 20ms, total 20ms
02-22 11:50:44.734: I/dalvikvm-heap(28063): Grow heap (frag case) to 11.768MB for 1127536-byte allocation
02-22 11:50:44.759: D/dalvikvm(28063): GC_FOR_ALLOC freed <1K, 12% free 10738K/12160K, paused 23ms, total 24ms
02-22 11:50:44.944: I/webclipboard(28063): clipservice: android.sec.clipboard.ClipboardExManager@42aae3e0
02-22 11:50:45.154: D/WebView(28063): loadUrlImpl: called
02-22 11:50:45.229: D/WebView(28063): loadUrlImpl: called
02-22 11:50:45.229: D/WebView(28063): loadUrlImpl: called
02-22 11:50:45.239: D/WebView(28063): loadUrlImpl: called
02-22 11:50:45.239: D/WebView(28063): loadUrlImpl: called
02-22 11:50:45.344: D/libEGL(28063): loaded /system/lib/egl/libEGL_mali.so
02-22 11:50:45.349: V/webkit(28063): BrowserFrame constructor: this=Handler (android.webkit.BrowserFrame) {42abbb70}
02-22 11:50:45.364: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:45.364: D/webkit(28063): Firewall not null
02-22 11:50:45.369: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:45.374: D/libEGL(28063): loaded /system/lib/egl/libGLESv1_CM_mali.so
02-22 11:50:45.379: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:45.379: D/webkit(28063): Firewall not null
02-22 11:50:45.379: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:45.389: D/libEGL(28063): loaded /system/lib/egl/libGLESv2_mali.so
02-22 11:50:45.394: E/(28063): Device driver API match
02-22 11:50:45.394: E/(28063): Device driver API version: 23
02-22 11:50:45.394: E/(28063): User space API version: 23
02-22 11:50:45.394: E/(28063): mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Fri Nov 29 14:18:37 KST 2013
02-22 11:50:45.514: D/OpenGLRenderer(28063): Enabling debug mode 0
02-22 11:50:45.519: D/WebView(28063): onSizeChanged - w:720 h:1280
02-22 11:50:45.594: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:45.594: D/webkit(28063): Firewall not null
02-22 11:50:45.594: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:45.594: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:45.599: D/webkit(28063): Firewall not null
02-22 11:50:45.599: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:45.599: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:45.599: D/webkit(28063): Firewall not null
02-22 11:50:45.599: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:45.654: E/Web Console(28063): Uncaught ReferenceError: Login is not defined:1
02-22 11:50:45.654: E/Web Console(28063): Uncaught ReferenceError: Menu is not defined:1
02-22 11:50:45.654: E/Web Console(28063): Uncaught ReferenceError: Login is not defined:1
02-22 11:50:45.654: E/Web Console(28063): Uncaught ReferenceError: Menu is not defined:1
02-22 11:50:49.874: D/CallbackProxy(28063): sendMessageToUiThreadSync Package=com.entin.mobileentman message=103
02-22 11:50:49.889: D/WebView(28063): loadUrlImpl: called
02-22 11:50:49.914: D/WebCore(28063): uiOverrideUrlLoading: shouldOverrideUrlLoading() returnstrue
02-22 11:50:49.924: I/GATE(28063): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
02-22 11:50:49.929: D/webcore(28063):  CORE loadUrl: called
02-22 11:50:49.929: D/webkit(28063): Firewall not null
02-22 11:50:49.929: D/webkit(28063): euler: isUrlBlocked = false
02-22 11:50:50.364: E/Web Console(28063): Viewport argument key "" not recognized and ignored.:4
02-22 11:50:51.924: D/TilesManager(28063): Starting TG #0, 0x615a7638
02-22 11:50:51.924: D/TilesManager(28063): new EGLContext from framework: 5f7da330
02-22 11:50:51.924: D/GLWebViewState(28063): Reinit shader
02-22 11:50:51.924: D/GLWebViewState(28063): Reinit transferQueue
02-22 11:50:51.929: E/Web Console(28063): Uncaught SyntaxError: Unexpected token (:320
02-22 11:50:52.814: I/GATE(28063): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
니로 (1,130 포인트) 님이 2016년 2월 22일 질문
니로님이 2016년 2월 22일 수정

1개의 답변

0 추천
 
채택된 답변
webview에 컨텐츠가 로딩되지 않은 상태에서 javascript를 호출하려고 하면 정상동작하지 않을 수도 있습니다.
익명사용자 님이 2016년 2월 22일 답변
니로님이 2016년 3월 10일 채택됨
어떻게 해야할까요... 앱개발자가 없어서.. 하려다보니 모르는게 너무많네요 ㅠㅠ
근데 왜 하위기종에서 이런 현상이 생기는지 모르겟네요..
하위기종 문제이면 안드로이드 버전의 문제일 가능성도 큰 것 같네요.
 안드로이드 버전에 따라서 WebView 기능이 조금씩 다를 수도 있습니다.
근데.. 웹뷰설정이 바뀐적이없는데.. 리뉴얼 후에 안된다는게 조금이상해요
앱에서 수정한건 설정메뉴 뿐이고 웹뷰 설정은 그대로였거든요...
참.. 답이없네요 ㅠㅠ
킷캣에서 웹뷰가 몽땅 바뀌어 버렸죠
...