以编程方式清除浏览器缓存/历史记

时间:2010-09-22 22:41:42

标签: android

在我的活动中,我向浏览器发送意图以显示网页:


    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://ww.mywebpage.com");
    startActivity(i);

我需要确保在发送意图之前清除浏览器缓存和历史记录,以便直接从服务器加载页面,而不是从手机加载。

到目前为止,我发现了以下2个,但我不确定它们是否正确使用:


    Browser.clearHistory(getContentResolver());
    Browser.clearSearches(getContentResolver());

此外,该缓存未被清除。

你知道怎么做吗?

2 个答案:

答案 0 :(得分:7)

首先,您假设Android只有一个Web浏览器。你错了,随着时间的推移会越来越错。钢铁,海豚,歌剧等已经在Android上投入使用,Mozilla的Fennec也很好用。此解决方案无法帮助您使用其他浏览器。

其次,如果浏览器错误地缓存了您的数据,您的问题可能在服务器上(即,没有发送正确的缓存控制头)。我试着在那里修复它,以便它在所有浏览器中都能正常运行。

第三,擦除用户的整个历史记录和搜索,以满足您的要求,是相当不专业的。您希望某些桌面应用程序消除桌面浏览器的历史记录和搜索?

第四,您无法以编程方式清除浏览器的缓存。

答案 1 :(得分:0)

是的......如果您必须在客户端声明更多控制而不是在服务器上修改它,您需要在应用程序内部显示带有完全控制权的webview内容,而不是委托给浏览器(这是一个单独的应用程序,在一个单独的用户ID和不同的安全上下文中运行,你不能搞砸)。