2012-10-13 26 views
1

我試圖使用方法(從doInBackground()方法Asynctask調用)刪除瀏覽器歷史記錄。從Android中的AsyncTask刪除瀏覽器歷史記錄時出錯

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

但這些方法給出了一個錯誤,您不能從非ui線程調用這些方法。

如果有人遇到過這樣的問題,請提出答案。

回答

0

如果要從非UI線程更新UI,可以使用runOnUiThread方法。

在你的情況,你可以使用下面的代碼片段:

runOnUiThread(new Runnable(){ 
    public void run(){ 
    Browser.clearHistory(getContentResolver()); 
    Browser.clearSearches(getContentResolver()); 
    } 
}); 
0

要做到這一點,你必須使用一個處理程序,以便從非UI線程更新瀏覽器。這裏是來自Lars Vogel的一篇好文章,描述如何做到這一點

Link