
웹에서 HTML로 전화걸기를 구현 시 아래와 같이 tel 태그로 구현을 한다.
<a href="tel:010-1234-5678">전화</a>
하지만 이 태그를 WebView 에서는 url로 인식해 "tel:010-1234-5678" 의 웹페이지로 이동하게 된다.

이와 같이 tel 태그를 WebViewClient 의 shouldOverrideUrlLoading 메소드에서 처리를 해주어야 한다.
<uses-permission android:name="android.permission.CALL_PHONE" />
inner class WebViewClientClass : WebViewClient() {
	// 페이지 이동
	override fun shouldOverrideUrlLoading(
		view: WebView,
		url: String
): Boolean {
	if (url.startsWith("tel:")) { // tel 태그가 url로 인식해서 안먹히는 상황 분기
		TedPermission.create()
		.setPermissionListener(object : PermissionListener {
			override fun onPermissionGranted() { // 권한이 이미 있거나 요청 허가됐을 때
				val intent = Intent(Intent.ACTION_CALL, Uri.parse(url)) // 전화 바로 걸기
				// Intent.ACTION_DIAL 전화거는 화면까지만 이동
				startActivity(intent)
			}
			override fun onPermissionDenied(deniedPermissions: MutableList<String>?) { // 권한이 거부됐을 때
				Toast.makeText(this, "전화걸기 권한을 승인해 주셔야 정상적인 전화걸기 서비스가 가능합니다.", Toast.LENGTH_SHORT).show())
			}
		})
		.setDeniedMessage("전화걸기 권한을 승인해 주셔야 정상적인 전화걸기 서비스가 가능합니다.\n[설정] - [권한]에서 권한을 허용해주세요.")
		.setGotoSettingButtonText("설정")
		.setDeniedCloseButtonText("취소")
 		.setPermissions(Manifest.permission.CALL_PHONE)
		.check()
	} else {
		view.loadUrl(url)
	}
	return true
}