2010-09-22 72 views
1

在我的活动我送的意图,浏览器以显示网页:编程方式清除浏览器缓存/历史


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

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

到目前为止,我已经找到了2下,但我不知道他们是正确的:


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

还与缓存不被清除。

你知道该怎么做吗?

回答

7

首先,假设Android上只有一个Web浏览器。你错了,随着时间的推移会越来越错误。钢铁,海豚,歌剧等已经在为Android生产,Mozilla的Fennec也很好。此解决方案不会帮助您使用其他浏览器。其次,如果浏览器不正确地缓存你的数据,你的问题可能在服务器上(即不发送适当的缓存控制头)。我试图在那里修复它,以便它能够在所有浏览器中正常运行。第三,擦除用户的全部历史和搜索,以满足您的要求,是相当不专业的。您希望某些桌面应用程序如何消除桌面浏览器的历史记录和搜索?

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

0

是的......如果您必须在客户端声明更多的控制权,而不是将其固定在服务器上,那么您需要在您的应用程序中显示带有完全控制权限的webview内容,而不是委托到浏览器(这是一个独立的应用程序运行在一个单独的用户ID和单独的安全上下文,你不能混淆)。

+0

无法解析clearHistory方法 (android.content.contentresolver) – DKV 2016-03-02 13:17:21