🏫 Mobile/🦖 Android [Android] 웹뷰, 웹앱에서 confirm, tel 등이 되도록 만드는 방법 728x90 안녕하세요. 팀드모네입니다. 오늘은 웹뷰, 웹앱에서 confirm, tel 등이 되도록 만드는 방법에 대해서 공유드리겠습니다. 1. 권한 체크 AndroidManifest.xml에 CALL_PHONE 권한이 있는지 체크 <uses-permission android:name="android.permission.CALL_PHONE"/> 2. shouldOverrideUrlLoading을 기술했는지 체크 mWebView.loadUrl("https://xn--vf4b17jsctv.com/index.html?isApp=true"); // 웹뷰에 표시할 웹사이트 주소, 웹뷰 시작 mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("kakaolink:") || url.startsWith("market:")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; }if (url.startsWith("tel:") || url.startsWith("tel:")) { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); //전화거는 화면까지만 이동 시킬꺼면 Intent.ACTION_DIAL //전화를 바로 걸라면 Intent.ACTION_CALL startActivity(intent); }else { view.loadUrl(url); } return true; } }); mWebView.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { new AlertDialog.Builder(view.getContext()) .setTitle("title") .setMessage(message) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { result.confirm(); } }) .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { result.cancel(); } }) .setCancelable(false) .create() .show(); return true; } }); 3. 결과 확인 결과를 확인합니다. 저는 이런식으로 나오네요. 이 포스팅은 페이스북의 audience-network를 기준으로 작성되었습니다. Facebook 광고 좀 띄우겠다고 페북공식 github에서 코드받아왔다가 당황했네요 ㅠㅠ URL : https://github.com/fbsamples/audience-network 블로그 방문해주셔서 감사합니다. 잘 해결되었기를 기원합니다. 추가로 질문사항이 있으면 댓글 남겨주세요 :) 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기팀드모네 IT Blog 저작자표시 비영리 동일조건 (새창열림) '🏫 Mobile > 🦖 Android' 카테고리의 다른 글 [solved] Must be called on the main UI thread (0) 2021.03.20 [Android] 안드로이드 프래그먼트 웹뷰 뒤로가기 (0) 2020.07.03 You need to use a Theme.AppCompat theme (or descendant) with this activity. (0) 2020.03.26 Program type already present: android.support.v4.app.INotificationSideChannel$Stub$Proxy 해결방법 (0) 2020.03.21 AdMobPlugin.RewardVideoListener is not abstract 해결방법 (0) 2020.03.21 Contents 당신이 좋아할만한 콘텐츠 [solved] Must be called on the main UI thread 2021.03.20 [Android] 안드로이드 프래그먼트 웹뷰 뒤로가기 2020.07.03 You need to use a Theme.AppCompat theme (or descendant) with this activity. 2020.03.26 Program type already present: android.support.v4.app.INotificationSideChannel$Stub$Proxy 해결방법 2020.03.21 댓글 0 + 이전 댓글 더보기