我正在尝试使用基于webview的android java创建一个移动应用程序,这个应用程序只会显示我制作的网站的移动版本。该网站恰好有弹出窗口,我试图阻止他们在我的移动应用程序上。
这就是我现在所做的
public class URLIntercepter extends WebViewClient{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
if(url.contains("https://www.mywebsite.com/")){
view.loadUrl(url);
return true;
}
else
return false;
}}
在您的自定义WebViewClient
中,您可以覆盖函数shouldInterceptRequest(WebView, WebResourceRequest)
。
来自Android docs:
通知主机应用程序资源请求并允许应用程序返回数据。
因此,想法是查看请求是来自广告网址(大量黑名单过滤器),然后返回不是广告的“假”资源。
有关更长的解释和示例,我建议您查看此blog post。
由于您可以控制网站,因此您可以使用您的网址发送“GET”参数,例如mobile = 1,并且可以通过在服务器端使用以下代码来阻止弹出窗口或广告。我假设您使用的是PHP。
if(!isset($_GET["mobile"])){
//show ads, popups etc.
}