선 해결책 : WebChromeClient의 onReceivedTitle() 콜백 메서드를 사용한다.




안드로이드 API 의 폭이 매우 넓기 때문에 다양한 해결책이 있을 수 있지만,

개인적으로 막혔던 부분을 해결하는 과정을 적어본다.


<시행착오>

구글 검색, 스택오버플로우 검색을 하면서 두가지 해결책을 시도해봤다.

WebViewClient의 콜백 메서드인 onPageStarted, onPageFinished인데, 이름에서 보이듯이

웹페이지 로딩 시작시와, 로딩 완료시에 호출되는 메서드다.

이 메서드 안에 title = view.getTitle(); 를 이용해서 title 가져오기 시도했으나

onPageStarted에서는 아무런 제목도 반환되지 않았고,

onPageFinished는 페이지 로딩이 완료를 기다려야 돼서,바로 제목처리를 할 수 없었다.

   



<최종 해결책>

WebChromeClient의 onReceivedTitle() 콜백 메서드를 사용한다.

새로운 제목이 들어오는 순간 호출되기 때문에 딜레이가 없다.


String title = new String();


 class webViewChrome extends WebChromeClient {

        

        @Override

        public void onReceivedTitle(WebView view, String title) {

            super.onReceivedTitle(view, title);

            if (!TextUtils.isEmpty(title)) {

            본인액티비티명.title = title;

            }

        }


}


http://stackoverflow.com/questions/18794638/android-webview-getfavicon-returning-null




+ Recent posts