1

我正在尝试使用方法(从doInBackground()方法调用Asynctask)删除浏览器历史记录。

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

但是这些方法给出了一个错误,您不能从非 ui 线程调用这些方法。

如果有人遇到过这样的问题,请提出答案。

4

2 回答 2

0

如果要从非 UI 线程更新 UI,可以使用该runOnUiThread方法。

在您的情况下,您可以使用以下代码段:

runOnUiThread(new Runnable(){
  public void run(){
    Browser.clearHistory(getContentResolver());
    Browser.clearSearches(getContentResolver());
  }
});
于 2012-10-13T05:55:25.640 回答
0

为此,您必须使用处理程序才能从非 UI 线程更新您的浏览器。这是 Lars Vogel 的一篇好文章,描述了如何做到这一点

关联

于 2012-10-13T05:57:14.923 回答