* 안드로이드 어플리케이션 제작중 하이브리드 앱 또는 반응형 웹페이지와 연동을 해야할경우가 있다.
또한 WebView에 표시해야할 페이지가 단일 페이지로 제작된 웹일 경우 페이지 이동에 제약을 따른다.
안드로이드로 비유하자면 ViewPager 안의 탭으로 바로 연결하는 함수라고 생각하시면 됩니다.
1. 기본 설정
binding.webview.setWebViewClient(new WebViewClientClass());
binding.webview.getSettings().setJavaScriptEnabled(true);
binding.webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
binding.webview.getSettings().setDomStorageEnabled(true);
private class WebViewClientClass extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d(TAG,"호출 URL : "+url);
if( URLUtil.isNetworkUrl(url) ) {
Log.d(TAG,"호출 url false");
return false;
}
return true;
}
@Override
public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError er) {
//handler.proceed();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("Page Finish URL",url);
//view.loadUrl(url);
Log.d(TAG,"접속");
for (int i = 10;i<20;i++){
binding.webview.loadUrl("javascript:(function() { " + "document.getElementById('hd_pops_"+i+"').style.display='none';})()");
//다이얼로그 클릭처리
}
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.d("tag", "5초 후 실행");
binding.webview.loadUrl("javascript:document.getElementsByClassName('bt_gray3 st_pad5 bt_333')[1].click()")
//클래스 클릭처리
}
}, 3000);
}
}
}
※파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음※
'IT개발일지 > Android' 카테고리의 다른 글
[Android]View 투명도 설정하기 (Xml Alpha 값 주기) (0) | 2021.07.14 |
---|---|
[Android] 카카오 로그인 연동하기 V2 - JAVA (0) | 2021.04.01 |
[Android] AP-All SDK 적용하기 (0) | 2020.11.03 |
[Android] 지오코딩 주소->좌표 [2020버전] (0) | 2020.09.17 |
[Android] 지정한 도메인 이름 'kakaolink'이(가) 올바르지 않습니다. 올바른 도메인 이름을 지정하세요. (0) | 2020.09.16 |