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 に答える