테스트 사이트 - 개발 중인 베타 버전입니다

이클립스로 임포트후 전화걸기/지도보기 채택완료

짱구짱구 10년 전 조회 6,278

​​

웹제작한 파일을 임포트하고 apk 파일생성후 실행해보니 전화걸기/지도보기 기능이 있는데 그걸 터치하면 

 1.지도보기와 전화가 걸리지 않으면서 

net=ERR_UNKNOWN_URL_SCHEME 라고 메세지가 뜨네요 어떻게 하는지 알려 주세요. 

제가 왕초보인관계로 소스만주시지 말고 어느파일에 어디쯤 넣어야 한다고 알려 주시면 감사 하겠습니다.

 

감사 합니다.

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
P
10년 전

웹뷰를 이용하여 만드신 것 같은데, 전화의 경우엔 tel: 프로토콜을 이용하고, 지도보기의 경우 market: 프로토콜을 이용합니다. 기본 내장된 웹뷰에는 해당 프로토콜을 넘겨받는 기능이 프로그래밍 되어 있지 않아 별도로 소스를 앱 소스를 수정하여 전달받을 수 있도록 처리하셔야 합니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

혹시 필요하실분이 계실거 같아서 자문자답합니다.

카이로님이 운영하시는 안드로사이드에서 뉴키님이 알려주신 답입니다.

 

​​

아래 함수 찾아서 수정하세요.

public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("tel:")) {
                Intent intent = new Intent(Intent.ACTION_DIAL,
                        Uri.parse(url));
                startActivity(intent);
        }else if(url.startsWith("http:") || url.startsWith("https:")) {
            view.loadUrl(url);
        }
​​​​        return true;
    }
​​
}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

1. webview(new Chrome()) 어쩌구저쩌구 해서

기본 웹뷰를 크롬으로 변경하면 됩니다. -> 이건 불확실 합니다.  

 

2. 자바스크립트를 어플에 등록하는 경우가 있습니다.  

즉 javascript:send_phone('010-4444-4444') 이라고 할경우에  

 

 

어플에 프로그램을 등록하는 부분이 있습니다.  

send_phone(string url)

{

  Intent.startActivity(); 

 

 

3. target="_blank" 하면 제 기억으로 해당 웹뷰를 벗어나서 기본 브라우저를 쓰게 됩니다. 즉 팝업창처럼 뜨게되서 거기서 전화를 걸게 해야 할것 같습니다.  

 

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

어휴 그러니깐요 ...

그것을 몰라서 이렇게 헤매고 있답니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인