1

このコードは実際にAndroid(2.2以降)のUIスレッドで実行されますか?そうでない場合は、それを行う方法の例があります。

アクティビティでは、JSInterfaceを呼び出します

  class Xyz extends Activity implements OnInitListener () {
        ...
        engine.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
  }


final class DemoJavaScriptInterface {

    DemoJavaScriptInterface() {
    }


    public void clickOnAndroid(final String num) {
        runOnUiThread(new Runnable() {
           public void run() {
                if (isrunning) {
                         _tts.speak(num,TextToSpeech.QUEUE_FLUSH, null);
                }
           }
       });

}
4

1 に答える 1

1

runOnUiThread に渡された匿名の Runnable を参照している場合...はい、メソッド名が示すように、UI スレッドで確実に実行されます。

于 2011-06-24T22:02:09.910 に答える