WebViewClient.shouldOverrideUrlLoading을 사용하여 WebView의 링크 클릭을 잡습니다. 이것은 약 95 %의 시간 동안 작동하지만 때로는 단순히 호출되지 않습니다.shouldOverrideUrlLoading이 작동하지 않음/페이지가로드되는 동안 링크 클릭 수를 잡습니다.
것은 나는이 세 가지 상황에서 그것을 발견했습니다 :
- 페이지에 링크 포인트가 이미있는 경우. 이건 정말 큰 문제가 아니며, bug reported for it이 있습니다.
- 페이지가 계속로드되는 동안 사용자가 링크를 클릭하면 드물게 캐치됩니다.
shouldOverrideUrlLoading
을 호출하지 않고도 링크가 열립니다. - 무작위로. 지난 두 달 동안 이것을 실험하면서 때때로 나는 그것을 잡지 못한다는 것을 알았습니다. 그것은 드문 일이지만 그것은 일어납니다.
이제 제 질문은 문제 2를 해결하는 방법입니다. 다른 문제는 그다지 큰 문제가 아니기 때문입니다. 그러나 누군가가 1 또는 3 중 하나를 해결하면 그것에 대해 듣고 싶습니다.
shouldOverrideUrlLoading
에서 다른 반환 값을 시도했지만 항상 최상의 결과를 얻는 것으로 보였지만 위의 문제는 여전히 발생합니다.
'window.location'을 수정하는 페이지에서 js로 웹 페이지를 변경하려고 할 때 비슷한 문제가 발생했습니다. URL 스키마/프로토콜을 수정하면 웹 뷰가'shouldOverrideUrlLoading'을 캐치합니다. –
허용 된 답변에 대한 의견에서 문제의 원인이 귀하의 논리에 해당한다고 말합니다. 진짜 문제가 무엇인지는 언급하지 않았습니다. 나는이 문제가있다. 그리고 인터넷 검색으로부터 나는 유일한 사람이 아닌 것처럼 보인다. 잠시 시간을내어 어떻게 해결했는지 말씀해 주시겠습니까? – mickey
@mickey, 이것을 지적 해 주셔서 감사합니다. 미안합니다! 나는 아래에 응답을 썼다. (받아 들인 답안에서) – cottonBallPaws