Android Chrome99이상일때 잘못된 intent주소가 브라우징 되는 현상
InAppWebViewClient.java 파일안에
shouldOverrideUrlLoading (){
... return request.isForMainFrame();
}
request.isForMainFrame()
InAppWebViewClient.java 파일안에
shouldOverrideUrlLoading (){
... return request.isForMainFrame();
}
위에 return 부분을 예외처리 해주면된다!
WebKit로부터 상속된 메소드.
iframe 혹은 subresources 일때 false
(참고) https://developer.android.com/reference/android/webkit/WebResourceRequest#isForMainFrame()
잘못된 intent주소일때 shouldIntercept가 호출되는줄 알고.. 다른방향으로 방안을 찾아봤었다ㅠㅠ
shouldIntercept 호출 자체를 막을순 없을까?
InAppWebViewClient extends WebViewClient
WebViewClient 상속을 받고있기 때문에 호출 자체를 막을순 없다.
shouldIntercept호출 기준을 알고싶어서 WebViewClient 내부 소스를 보려다가 포기
shouldIntercept 내부에서 호출되는게 씹히도록 막을순 없을까?
내부에서 호출되는걸 막을순 없었다.
return null이어도 로드가 계속된다고 공식문서에 나와있다. (https://pub.dev/documentation/flutter_inappwebview/latest/flutter_inappwebview/AndroidServiceWorkerClient/shouldInterceptRequest.html)
임의의 WebResourceResponse를 리턴하거나
임의의 JS, CSS를 리턴해도 로드가 계속되어 문제를 해결할 순 없었다.
안녕하세요 혹시 예외처리를 어떤식으로 했는지 확인할 수 있을까요?