清除Android浏览器历史记录

时间:2011-09-09 18:48:49

标签: android browser tabs browser-history

我正在为一个客户编写一个应用程序,该客户端将有几个可供客户查看和使用的设备。他们希望能够定期清除浏览器历史记录,这样如果客户将浏览器打开到不适当的网站,下一位客户就不会看到这一点。

我目前正在使用它来清除历史记录和搜索:

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

这正确地清除了历史。但是在浏览器中打开的任何窗口(选项卡)都保持打开状态。如何告诉浏览器关闭所有这些选项卡,以便下次有人打开浏览器时它只会加载起始页?

我注意到使用预装在设备上的TaskManager杀死浏览器。杀死浏览器任务是我可以让它关闭任何打开的标签的唯一方法吗?如果是这样,我怎样才能杀死/重新启动浏览器进程?我试过这个:

    am = (ActivityManager) getApplicationContext().getSystemService(Activity.ACTIVITY_SERVICE);
    am.killBackgroundProcesses("com.android.browser");

但这种方法似乎没有做任何事情。我有

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"></uses-permission>

在我的清单中,但是在我运行它并返回浏览器后,它仍然位于打开的任何标签上。使用此权限授予的权限的正确方法是什么?

我宁愿找到除了“任务杀戮”之外的其他方法来使其发挥作用,但此时我的所有方面都是空的。

3 个答案:

答案 0 :(得分:2)

如果您的设备已植根,则可以使用以下命令清除应用程序的所有数据。我不知道这是否适用于每个设备,因为它取决于包管理器

Runtime.getRuntime().exec("su -c /system/bin/pm clear com.android.browser");

答案 1 :(得分:1)

我尝试通过ActivityManager关闭浏览器,它运行正常。我在HTC 2.2上进行了测试,结果很完美。

也许你也应该试试这个:

am.killBackgroundProcesses("com.google.android.browser");

如果手机上的浏览器不在com.android.browser

甚至尝试完成活动:com.android.browser.BrowserActivity

希望这有帮助!

答案 2 :(得分:0)

与计算机浏览器非常相似,Android浏览器会将您搜索到的所有记录保留在设备上。如果您担心浏览器历史记录或不想在Android中记录任何记录,则可以在几分钟内删除所有浏览器历史记录。删除后,您的浏览器记录将删除您登录Chrome的所有缓存数据。