Android Studio/java
20. [안드로이드/java] webview 특정 url에서 동작 추가하기
drizzle0925
2021. 10. 20. 11:51
728x90
webview로 앱을 만들다 보면 특정 페이지로 이동했을 때 기능을 추가하고 싶을 때가 있습니다.
예를 들어 팝업창을 띄우거나 새창으로 열거나 그럴 때 사용하는 메서드가 ShouldOverrideUrlLoading()이라는 메서드입니다.
ShouldOverrideUrlLoading() 메서드란 현재 페이지의 url을 읽어 올 수 있는 메서드입니다. 이 메서드를 사용하여 새창을 읽을 수도 있고 특정 페이지에서만 특수한 기능을 넣을 수도 있어 android webview에서 자주 사용됩니다.
localhost/page1?sub=charge에 접속했을 경우 result : charge라는 로그를 남기는 코드입니다.
protected void onCreate(Bundle savedInstanceState) {
...
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
Uri uri = Uri.parse(url);
String queryStr = uri.getQueryParameter("sub");
if(uri.getQueryParameter("sub").contains("charge")){
Log.v("result : ","charge");
}
view.loadUrl(url);
return true;
}
});
}
728x90