Ответ 1
Кажется, что HTC отключил console.log на устройствах Android 2.2. прочитайте это сообщение:
Как отобразить вывод console.log() в приложении PhoneGap с использованием Eclipse и HTC Desire HD?
У меня есть 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 ни один из этих методов не называется.
Что я делаю неправильно?
Спасибо.
Кажется, что HTC отключил console.log на устройствах Android 2.2. прочитайте это сообщение:
Как отобразить вывод console.log() в приложении PhoneGap с использованием Eclipse и HTC Desire HD?
Я только что тестировал 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