Android: проблема с отладкой javascript в webview

У меня есть javascript, работающий в WebView, и я хочу получать сообщения консоли об ошибках в JS. В соответствии с инструкциями в http://developer.android.com/guide/webapps/debugging.html я переопределил методы

WebChromeClient.onConsoleMessage(String message, int lineNumber, String sourceID)

и

WebChromeClient.onConsoleMessage(ConsoleMessage cm),

перенаправление сообщений на logcat. В android 2.1 он работает хорошо, но в android 2.2 ни один из этих методов не называется.

Что я делаю неправильно?

Спасибо.

Ответ 2

Я только что тестировал 2.2 (уровень 8). Он отлично работает. Не знаете, почему вы этого не видите. Я бы подтвердил настройку ChromeClient.

js содержит...

console.log("Hello World");
console.error("Serious");

ChromeClient содержит

    @Override
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
    // TODO Auto-generated method stub
    Log.v("ChromeClient", "invoked: onConsoleMessage() - " + sourceID + ":"
            + lineNumber + " - " + message);
    super.onConsoleMessage(message, lineNumber, sourceID);
}

@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
    Log.v("ChromeClient", cm.message() + " -- From line "
            + cm.lineNumber() + " of "
            + cm.sourceId() );
    return true;
}

Журнал содержит 03-16 15: 53: 12.309: VERBOSE/ChromeClient (595): Hello World - из строки 24 файла:///android_asset/base.js 03-16 15: 53: 12.309: VERBOSE/ChromeClient (595): серьезный - из строки 25 файла:///android_asset/base.js