0

有什么办法可以阻止android本地浏览器加载由我的应用程序提供的特定URL(例如xyz.com),并显示有关阻止的通知?如果我们不能停下来,那么在浏览xyz.com时如何将浏览器重定向到另一个HTML页面,如otherPage.html(保存在SD卡中)?停止加载URL的Android浏览器

我很讨厌很多搜索,但是到目前为止还没有运气。

任何示例/教程都会很棒。

捆绑感谢

回答

0

您可以创建一个WebViewClient和 “过滤器” 的具体网址:

webview.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading(WebView view, String url){ 
    if(url.equals("xyz.com")){ 
     view.loadUrl("www.otherurl.com"); 
    } 
    return false; //we handle url loading on our webview 
    } 
}); 
+0

其实,用户在Android浏览器访问URL,我的应用程序读取上次访问的URL的浏览历史记录。如果URL是xyz.com,那么应用程序必须提醒用户并阻止它在未来加载。我是android新手,上面的代码适用于我的场景。 – Sam

+0

我不认为你可以用你描述的方式改变另一个应用程序的行为。是的,你可以提醒用户,但是你不能阻止他加载这个url ... – bonnyz

+0

因此,我们可以通过在你的答案中使用代码重新指向otherURL.com来提醒用户。对? – Sam

0

这可以通过使用Intents工作。每当应用程序打开一个URL时,就会创建一个特定的意图,并由浏览器捕获它。在我的设备上,标准浏览器创建意图并每次都捕获它们,即使我只是单击浏览器窗口中的链接。因此,只需编写一个捕获浏览器意图的小应用程序(上面的链接和vogel/a应该帮助),将给定的URL与黑名单进行比较,并显示警告或将意图转发给浏览器。 现在,用户只需将您的应用程序指定为此类意图的标准,那么您应该没问题。