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

웹뷰에서 결제모듈을 사용하려고 하는데 질문있습니다.

0 추천

이번에 입사한 회사에서 쇼핑몰을 만들면서 결제모듈로 올앳페이를 이용하고 있는데 PC에서는 결제하기 버튼을 누르면 정상적으로 결제창이 오픈되지만 

스마트폰에 설치되어 있는 크롬 어플 뿐만 아니라 직접 웹뷰를 만들어봤는데도 결제창이 뜨질 않네요 

아래는 제가 적용해본 코드입니다.  부족한 부분이 있다면 알려주시면 감사하겠습니다.

참고로 메뉴얼을 보긴 했지만 결제 프로세스에 대한 설명만 있고 모바일과 관련된 정보는 찾질 못했습니다. ㅠㅠ

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setLoadsImagesAutomatically(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
if (Build.VERSION.SDK_INT >= 19) {
    mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
} else {
    mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}


mWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
mWebView.getSettings().setEnableSmoothTransition(true);




mWebView.setWebChromeClient(new WebChromeClient() {

    @Override
    public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {

        WebView newWebView = new WebView(view.getContext());
        WebSettings webSettings = newWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mWebView.addView(newWebView);
        WebView.WebViewTransport transport = (WebView.WebViewTransport)resultMsg.obj;
        transport.setWebView(newWebView);
        resultMsg.sendToTarget();

        return true;


    }

    @Override
    public void onCloseWindow(WebView window) {
        super.onCloseWindow(window);
        mWebView.removeView(window);
    }

});
이잉 1 (380 포인트) 님이 2019년 9월 4일 질문

1개의 답변

0 추천
혹시 결제창이 팝업 형태로 열리는 건가요?

그러면 안드로이드 웹뷰에서 팝업으로 열리게끔 설정을 해줘야 합니다.

android webview popup 으로 구글링 해보세요
뱅구다 (11,280 포인트) 님이 2019년 9월 4일 답변
...