반응형

이번 포스팅에서는 일부 폰에서 일어나는 Webview 오류에 대해서 알아보겠습니다.


제가 삼성 스마트폰과 LG 스마트폰에서 테스트 결과 삼성 스마트 폰에서는 이상이 없었지만 LG 스마트 폰에서는 Webview 화면에서 '010-1234-5678' 형식이 있다면 전화걸기 화면으로 연결이 됩니다. 


그러나 전화걸기 권한이 AndroidMenifest에 설정되어 있지 않다면 오류 화면을 보여지게 됩니다.



해당 오류를 수정하기 위해서는 아래와 같은 작업을 해 주어야 합니다.


private class CustomWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// 전화걸기 오작동 막기

if (url.startsWith("mailto:") || url.startsWith("tel:")) {

          return false;

      }

      view.loadUrl(url);

      return true;

}

}


반응형
반응형

 <첨부 파일>  WebView_Example.zip



1. WebView 클래스는 안드로이드 API Level 8 (2.2) 버전부터 사용이 가능합니다.


2. WebView 클래스를 구현하기 위해서는 Manifest 파일에 INTERNET에 대한 사용권한을 먼저 설정해 주어야 합니다.





3. WebView를 구현할 webview.xml 파일을 구성하였습니다.





4. 이제 중요한 Activity를 구성해 보겠습니다.

  빨간 상자 안에 내용이 중요한 내용입니다. WebView 클래스를 사용하기 위해서는 

  빨간 상자 부분을 구현해 주어야 합니다. 가장 기본적인 내용이므로 그림처럼 구현하셔도 좋습니다.   





5. WebViewClient를 설정해줍니다. 기본적으로 


    webView.setWebViewClient ( new WebViewClient() );

    라고 구현해도 되지만 WebView 클래스를 사용하다보면 작업 환경에 맞게 변경해야 하는 일이 있으므로 커스터 마이징을 하는 것을 권장합니다. 


    커스터 마이징 방법은 그림처럼 WebViewClient 클래스를 상속받아 클래스를 구성해주면 됩니다.

 



6. 작업 결과 화면입니다.




 


반응형

+ Recent posts