본문 바로가기

Development/Android

안드로이드 WebView 화면에서 전화걸기 오작동 막기.

안드로이드 WebView 화면에서
전화번호와 비슷한 98217398217 등의 숫자로만 이루어진 컨텐츠가 있을때 터치하게 되면 전화걸기 기능으로 바로 연결되는 오작동 막기.



........
WebView mWeb;
........
mWeb.setWebViewClient(new DongYang());
........
private class DongYang extends WebViewClient {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("mailto:") || url.startsWith("tel:")) {
            return false;
        }
        view.loadUrl(url);
        return true;
    }
}
 



WebView 에서는 전화번호 비슷한 숫자들의 모임은 무조건 전화걸기 기능으로 링크를 걸기때문에 위처럼 클라이언트쪽에서는 기능을 막고 아래처럼 서버 페이지에서 설정해주는 것이 좋다.


일반적인 방법
<a href="tel:전화번호"></a>

HDML 을 사용하는 방법
<a TASK="CALL" NUMBER="전화번호"></a>

영상통화
<a href="tel-av:전화번호"></a>

전화번호 등록
<a href="tel:전화번호", telbook="이름" kana="일본의 경우" email="메일주소"></a>

메일 발송
<a href="mailto:메일주소?subject=제목&body=내용"></a>

cc의 경우 메일 발송
<a href="mailto:메일주소?subject=제목&body=내용&cc=Cc주소&bcc=Bcc주소"></a>

일반적인 북마크 방법
<a href="device:home/bookmark?URI=http://URI/&title=타이틀">/<a>

HDML 을 사용 시 북마크 방법
<a TASK="GO" DEST="device:home/bookmark?URI=http://URI/&title=타이틀"></a>