이클립스로 임포트후 전화걸기/지도보기 채택완료
웹제작한 파일을 임포트하고 apk 파일생성후 실행해보니 전화걸기/지도보기 기능이 있는데 그걸 터치하면
1.지도보기와 전화가 걸리지 않으면서
net=ERR_UNKNOWN_URL_SCHEME 라고 메세지가 뜨네요 어떻게 하는지 알려 주세요.
제가 왕초보인관계로 소스만주시지 말고 어느파일에 어디쯤 넣어야 한다고 알려 주시면 감사 하겠습니다.
감사 합니다.
답변 4개
웹뷰를 이용하여 만드신 것 같은데, 전화의 경우엔 tel: 프로토콜을 이용하고, 지도보기의 경우 market: 프로토콜을 이용합니다. 기본 내장된 웹뷰에는 해당 프로토콜을 넘겨받는 기능이 프로그래밍 되어 있지 않아 별도로 소스를 앱 소스를 수정하여 전달받을 수 있도록 처리하셔야 합니다.
댓글을 작성하려면 로그인이 필요합니다.
혹시 필요하실분이 계실거 같아서 자문자답합니다.
카이로님이 운영하시는 안드로사이드에서 뉴키님이 알려주신 답입니다.
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;
}
http://www.androidside.com/bbs/board.php?bo_table=B60&wr_id=333" target=_blank>[출처] 안드로이드사이드 - http://www.androidside.com/bbs/board.php?bo_table=B60&wr_id=333
댓글을 작성하려면 로그인이 필요합니다.
1. webview(new Chrome()) 어쩌구저쩌구 해서
기본 웹뷰를 크롬으로 변경하면 됩니다. -> 이건 불확실 합니다.
2. 자바스크립트를 어플에 등록하는 경우가 있습니다.
즉 javascript:send_phone('010-4444-4444') 이라고 할경우에
어플에 프로그램을 등록하는 부분이 있습니다.
send_phone(string url)
{
Intent.startActivity();
}
3. target="_blank" 하면 제 기억으로 해당 웹뷰를 벗어나서 기본 브라우저를 쓰게 됩니다. 즉 팝업창처럼 뜨게되서 거기서 전화를 걸게 해야 할것 같습니다.
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인