코틀린 안드로이드 스튜디오로 안드로이드 앱을 만드는 경우
웹뷰를 넣어 url로 웹페이지에 들어가거나 asset에 넣은 html파일을 읽을 때 tel:태그나 sms:태그 링크를 들어가면 에러가 난다. 에러가 안 나게 하려면 다음과 같은 조치를 취하면 된다.
MainActivity.kt 안
class MainActivity : AppCompatActivity()
블럭 안에 아래 소스를 붙여넣는다.
webView.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(webView: WebView, url: String): Boolean { if (url.startsWith("tel:")){ val intent = Intent(Intent.ACTION_DIAL) intent.setData(Uri.parse(url)) startActivity(intent) return true } else if (url.startsWith("sms:")){ val intent = Intent(Intent.ACTION_SENDTO) intent.setData(Uri.parse(url)) startActivity(intent) return true } return false } } |
그리고 AndroidManifest.xml에서 아래와 같은 퍼미션을 주면 된다.
</uses-permission android:name="android.permission.call_phone"> </uses-permission android:name="android.permission.send_sms"> |
반응형