add Url Interceptor
添加 URL 加载拦截器,用于控制 WebView 是否应该加载特定的 URL。
与 addOnWebResourceRequestListener 不同,此方法不仅能监听请求,还能通过返回布尔值来阻止或接管 WebView 的加载行为。 它通常对应于 Android 原生 WebViewClient.shouldOverrideUrlLoading 的逻辑。
拦截逻辑说明: interceptor 函数接收一个 WebResourceRequest 对象,并需要返回一个 Boolean 值:
返回 true:表示当前脚本已拦截并处理了该请求(或者决定阻止该请求)。WebView 不会继续加载该 URL。
返回 false:表示当前脚本不拦截该请求。WebView 将按照默认逻辑继续加载该 URL。
注意事项:
同步执行:拦截器会在 WebView 的加载流程中同步执行(通常在 UI 线程)。因此,拦截器内部的逻辑必须非常快速,不能包含耗时操作(如网络请求、大量计算),否则会阻塞 UI 或导致 ANR。
执行时机:通常在用户点击链接或脚本触发页面跳转时触发。
Return
Long 拦截器的唯一 ID,用于后续通过 removeUrlInterceptor 移除。
Parameters
interceptor
拦截器函数。参数为请求详情,返回值为是否拦截的布尔标识。