android shouldOverrideUrlLoading deprecated -- Android




안드로이드로 웹뷰를 이용해 앱을 만들 때 웹사이트의 주소 컨트롤을 위해 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;
}


덧글

댓글 입력 영역