【问题标题】:Programmatically clear browser cache/history以编程方式清除浏览器缓存/历史记录
【发布时间】:2011-04-16 00:10:29
【问题描述】:

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


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

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

到目前为止,我已经找到以下 2 个,但我不确定它们是否正确使用:


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

还有那个缓存没有被清除。

你知道怎么做吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    首先,您假设只有一个适用于 Android 的 Web 浏览器。你错了,随着时间的推移,你会越来越错。 Steel、Dolphin、Opera 等已经在为 Android 生产,Mozilla 的 Fennec 也很顺利。此解决方案不会帮助您使用其他浏览器。

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

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

    第四,不能以编程方式清除浏览器的缓存。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 无法解析方法 clearHistory (android.content.contentresolver)
      猜你喜欢
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多