Android:在webview中调试javascript的问题

我在WebView中运行了一些javascript,我希望收到有关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中没有调用此方法。

我做错了什么?

谢谢。

Solutions Collecting From Web of "Android:在webview中调试javascript的问题"

似乎HTC在Android 2.2设备上禁用了console.log。 看看这篇文章:

如何使用Eclipse和HTC Desire HD在PhoneGap应用程序中显示console.log()输出?

我刚刚在2.2(8级)上测试过。 它工作正常。 不知道为什么你没有看到它。 我会validationChromeClient的设置。

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) ):严重 – 来自file:///android_asset/base.js的第25行