我試圖使用方法(從doInBackground()
方法Asynctask
調用)刪除瀏覽器歷史記錄。從Android中的AsyncTask刪除瀏覽器歷史記錄時出錯
Browser.clearHistory(getContentResolver());
Browser.clearSearches(getContentResolver());
但這些方法給出了一個錯誤,您不能從非ui線程調用這些方法。
如果有人遇到過這樣的問題,請提出答案。
我試圖使用方法(從doInBackground()
方法Asynctask
調用)刪除瀏覽器歷史記錄。從Android中的AsyncTask刪除瀏覽器歷史記錄時出錯
Browser.clearHistory(getContentResolver());
Browser.clearSearches(getContentResolver());
但這些方法給出了一個錯誤,您不能從非ui線程調用這些方法。
如果有人遇到過這樣的問題,請提出答案。
如果要從非UI線程更新UI,可以使用runOnUiThread
方法。
在你的情況,你可以使用下面的代碼片段:
runOnUiThread(new Runnable(){
public void run(){
Browser.clearHistory(getContentResolver());
Browser.clearSearches(getContentResolver());
}
});
要做到這一點,你必須使用一個處理程序,以便從非UI線程更新瀏覽器。這裏是來自Lars Vogel的一篇好文章,描述如何做到這一點