선 해결책 : 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
'프로그래밍 > 안드로이드' 카테고리의 다른 글
SD카드 외부저장소 파일 exists false만 나오는 경우 (0) | 2019.07.18 |
---|---|
[cocos2d-x] 이클립스 안드로이드 개발환경 빌드 (0) | 2015.01.31 |
build path, Dependencies 문제 해결방법[안드로이드] (4) | 2014.11.26 |
DDMS와 연결이 안되는 에러가 날 때[안드로이드] (0) | 2014.11.25 |