java.lang.RuntimeException:java.lang.Throwable:A WebView method was caled on thread'JavaBridge'


エラーコード
FATAL EXCEPTION: JavaBridge
Process: violetjack.smartinfusion, PID: 31227
java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread. (Expected Looper Looper (main, tid 1) {4186a978} called on Looper (JavaBridge, tid 385) {41a24830}, FYI main Looper is Looper (main, tid 1) {4186a978})

at android.webkit.WebView.checkThread(WebView.java:2082)
at android.webkit.WebView.loadUrl(WebView.java:803)
...
エラーの原因
私はwebviewでページを読み込む時にこのように書いたからです.
private void callChangeStartTime(final String time){
    String call = "javascript:changeStartTime(\"" + time + "\")";
    wvContent.loadUrl(call);
}
最初は4.2のマシンにこの問題がなかったです.4.4のマシンにこの問題が発生しました.
ソリューション
Stocoverflowで正解を見つけました.http://stackoverflow.com/questions/22607657/webview-methods-on-same-thread-error
runOnUiThread(new Runnable() {
    @Override
    public void run() {
        final WebView webView = (WebView) findViewById(R.id.map);
        webView.loadDataWithBaseURL(...);
    }
});
つまり、webviewのloadUrl方法をrunOnUiThreadに書いたら問題が解決できるということです.私が作ったとおりです.
private void callChangeStartTime(final String time){
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            String call = "javascript:changeStartTime(\"" + time + "\")";
            wvContent.loadUrl(call);
        }
    });
}