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

webview 를 사용한 lg전자결제 모듈 페이지를 표시할수 없습니다.

0 추천
package abc.tistroy.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class TestWebViewActivity extends Activity{
 
 private WebView mWebView;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  setLayout();
  
  // ?밸럭?먯꽌 ?먮컮?ㅽ겕由쏀듃?ㅽ뻾媛?뒫
  mWebView.getSettings().setJavaScriptEnabled(true); 
  mWebView.getSettings().setSupportMultipleWindows(false); 
  // 援ш??덊럹?댁? 吏?젙
     mWebView.loadUrl("http://m.abc.com");
     // WebViewClient 吏?젙
     mWebView.setWebViewClient(new WebViewClientClass());  
  
 }
 
 @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
            mWebView.goBack(); 
            return true; 
        } 
        return super.onKeyDown(keyCode, event);
    }
    
    private class WebViewClientClass extends WebViewClient { 
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl(url); 
            return true; 
        } 
    }
 
 /*
  * Layout
  */
 private void setLayout(){
  mWebView = (WebView) findViewById(R.id.webview);
 }
 
}

코딩은 이러하구요 전에 질문 한번 올렸는데 좀더 정확한 증상을 사진과 같이 올립니다. isp에서 결제진행하기 버튼을 누르면 페이지를 표시할수 없다구 나옵니당.

.

잘안드로이드 (210 포인트) 님이 2013년 9월 30일 질문

3개의 답변

+2 추천
웹뷰에서는 ipmobile 이라는  스키마를 처리할 수 없기 때문에 생기는 오류입니다.

 

shouldOverrideUrlLoading

함수를 사용하셨다면 그 내부에서 아래와 같은 예외를 처리하시면 됩니다.

if (url.startsWith("ispmobile") ) {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);
} else {

....

}

 

* 제가 웹뷰로 결제를 진행안해봐서 모르겠는데 결제 후 정보가 웹뷰로 넘어오는지는 모르겠습니다.
냉동참치 (2,340 포인트) 님이 2013년 9월 30일 답변
냉동참치 매번 답변에 너무 감사할따름입니다!!
+1 추천
이런건 여기에 질문을 올리지 말고 LG 전자결제 담당 업체에 문의하는게 더 빨리 답을 받을 수 있을겁니다.
익명사용자 님이 2013년 9월 30일 답변
+1 추천
냉동 참치님 말씀대로 스키마정의가 되어 있지 않아서 그렇습니다.

isp인것을 보니 카드 결제 인데... 카드결제는 스키마정의해야 할것이 굉장히 많습니다.

카드사별로 보안어플도 깔아야 하니 말입니다.

물론 pg사에서 스키마로 전부 보내 줍니다.

스키마 설정은 pg사에 문의하시면 알려 줄겁니다...

그런데... 은근히 pg사에서 모르쇠로 일관하는 부분이 많습니다.

다른데는 다 알아서 쓴다.. 너도 알아서 써라 식입니다.

물론 안그런 곳도 있겠지만 전 모든 pg사에 대등이 그래와서.... 어려운 부분이 있음 질문 주시면 답변 드릴께요 ㅋ
ThisPlus (46,920 포인트) 님이 2013년 9월 30일 답변
디플님 감사합니다! 일단 lg전자결제쪽에 스키마 요청문의 했어요
다시 문의드려도 된다니 너무 감사할따름입니다.!!
...