[안드로이드 Webview(웹뷰) shouldOverrideUrlLoading() 메서드]
안녕하세요. 오늘은 안드로이드 ShouldOverrideUrlLoadion()메소드에 대해서 알아 보겠습니다.
ShouldOverrideUrlLoadion()메소드란 현재 페이지의 url을 읽어 올 수 있는 메서드 입니다. 이 메서드를 이용하여 새창을 읽을 수 도 있고 특정 페이지에서만 특수한 기능을 넣을수도 있는 android webview에서 아주 자주사용되는 메서드 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // 안드로이드 6.0미만에서 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Uri uri = null; // 현재 페이지 url uri = Uri.parse(url); // uri로 변경 if(uri.getPath().contains("/test/page")){ // 현재 uri의 path에 컨테인만 읽기 Intent intent = new Intent(MainActivity.this, TestActivity.class); // 새창을 여는 액티비티나, 팝업일때 이용하면 용이합니다. intent.putExtra("url",url.toString()); startActivity(intent); return true; } return super.shouldOverrideUrlLoading(view, url); } // 안드로이드 6.0이상일때 @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { Uri uri = Uri.parse(view.getUrl()); //url을 uri로 변경 if(uri.getPath().contains("/test/page")){ // 현재 uri의 path에 컨테인만 읽기 Intent intent = new Intent(MainActivity.this, TestActivity.class); // 새창을 여는 액티비티나, 팝업일때 이용하면 용이합니다. intent.putExtra("url",view.getUrl()); startActivity(intent); return true; } return super.shouldOverrideUrlLoading(view, request); } | cs |
위와같이 현재 url를 읽어서 새로운 창을 열거나 아니면 팝업창을여는 기능을 할 때 많이 사용합니다.
↓웹의 자바스크립트와 안드로이드 메서드(Method)를 연결하는 자바스크립트 브릿지 입니다.
2018/12/18 - [안드로이드] - [안드로이드] 자바스크립트 연동(자바스크립트 브릿지)
유익하셨다면 좋아요 한번씩 클릭해 주시고 댓글도 하나 달아주시면 감사하겠습니다.
[안드로이드] 하이브리드 앱 만들기(hybrid) (1) | 2019.01.28 |
---|---|
[ android ] 안드로이드 상태바, 액션바(status bar, action bar) 없애는 방법 & 예제 (0) | 2019.01.28 |
[안드로이드] 자바스크립트 연동(자바스크립트 브릿지) (0) | 2018.12.18 |
[Android] 뒤로가기(Back) 버튼 막기 (0) | 2018.08.17 |
[ Android ] 안드로이드 권한(Permission)설정(안드로이드 6.0, 마시멜로 이상) (0) | 2018.07.17 |