【发布时间】:2011-11-14 00:47:41
【问题描述】:
我正在为一个客户编写一个应用程序,该应用程序将有多个设备可供客户查看和使用。他们希望能够定期清除浏览器历史记录,以便在客户打开浏览器访问不合适的网站时,下一位前来的客户不会看到这一点。
我目前正在使用它来清除历史记录和搜索:
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>
在我的清单中,但在我运行它并返回浏览器后,它仍然位于打开的任何选项卡上。使用此授予的权限的正确方法是什么?
我宁愿找到除 Task Kill 以外的其他方法来让它发挥作用,但此时我在所有方面都一无所获。
【问题讨论】:
-
我正在寻找完全相同的。实现这一目标的进展和最终方向是什么?
-
@Tom 不幸的是,从未有过任何进展,而且自从在许多新设备上包含 Chrome(附加浏览器)以来,情况变得更糟。因为那也是我无法控制的。
-
感谢您的更新!目前我正在尝试另一件事。 Root了设备,看看能不能删除/data/data/com.android.browser的内容
-
... 并且有效(我期望它有效)
-
@Tom 使用您用来删除它的代码(如果需要)发布一个答案。它也许会在未来帮助人们。
标签: android browser tabs browser-history