안드로이드

웹뷰 shouldOverrideUrlLoading 호출되지 않을 때.

코딩하는후운 2023. 4. 4. 16:01
반응형

질문 :
웹뷰 처음에 web url 호출할 때 shouldOverrideUrlLoading
이거 호출된 후에 그  다음엔 다음 페이지 같은거 이동될 때 호출 안되는데요
페이지 이동 되면 원래 호출 되야 하지 않나요!?
지인 답변 :

웹 구현방식에 따라 다름,
페이지 링크로 새로 이동되면 호출될거고, 내부적으로 라우팅방식 이동이면 호출안될수 있음

정확한 답은 아닙니다!
프론트에 물어보니 href로 이동? 그냥 url이 변경 된다고 함
그래서 좀 더 검색 해보다가 doUpdateVisitedHistory 를 발견.
이 방법으로는 History를 확인 할 수 있었다.

@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) { 
    Log.i("WebView", "History: " + url );
    super.doUpdateVisitedHistory(view, url, isReload);
}

하지만 내가 원하는 방식은 아니었다.
검색을 더 해보다가 맞춤 URL처리를 발견 하였습니다 !

생각하기론 :  URL이 RFC 3986을 준수하는 유효한 URL이 아니라서?

프론트에서 호출 하려던 url이

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4

이런 URL이었습니다. , 콤마는그냥 값 구분 하는 값(SPLIT값)
 
참조 : 
http://ankyu.entersoft.kr/lecture/android/webview_02.asp
https://developer.android.com/guide/webapps/migrating?hl=ko#URLs

 

반응형