-- Android
android shouldOverrideUrlLoading deprecated
어린왕자악꿍
2017. 8. 30. 10:29
안드로이드로 웹뷰를 이용해 앱을 만들 때 웹사이트의 주소 컨트롤을 위해 shouldOverrideUrlLoading함수를 이용하고 있는데, 이 함수가 deprecated되어 아직까진 동작을 하지만 버전별로 다르게 코딩해야 하며, 참고한 사이트의 예제를 변경하여 정리해둔다.
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return checkUrl(url);
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url=request.getUrl().toString();
return checkUrl(url);
}
public boolean checkUrl(String url) {
if (url.startsWith("tel:")) {
initiateCall(url);
return true;
}
if (url.startsWith("mailto:")) {
sendEmail(url.substring(7));
return true;
}
return false;
}