2011-02-01 8 views
22

WebViewでjavascriptを実行していて、JSのエラーに関するコンソールメッセージを受け取りたいと思っています。私はlogcatするメッセージをリダイレクトAndroid:webviewでjavascriptをデバッグするときの問題

、方法を

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

WebChromeClient.onConsoleMessage(ConsoleMessage cm)をオーバーライドhttp://developer.android.com/guide/webapps/debugging.htmlで指示に従って 。アンドロイド2.1ではうまく動作しますが、アンドロイド2.2ではこのメソッドは呼び出されません。

私は間違っていますか?

ありがとうございました。

+0

株式HTCの欲望HD /アンドロイド2.2で同じ問題が発生して。 – tacone

+0

私はHTC Legendを持っています。エミュレータではすべて正常に動作するため、HTC固有の問題のようです。 –

+0

おそらく同じ問題がhttp://stackoverflow.com/questions/5538516/javascript-console-log-on-htc-android-devices-and-adb-logcat –

答えて

6

2.2(レベル8)でテストしました。それは正常に動作しています。なぜあなたがそれを見ていないのか分かりません。私は、ChromeClientの設定を検証します。 53:12.309:VERBOSE/ChromeClient(595): - ラインからのHello World

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; 
} 

ログ 3月16日15が含まれているが含まれています...含まれています24 of file:///android_asset/base.js 03-16 15:53:12.309:VERBOSE/ChromeClient(595):Serious - ファイルの25行目:///android_asset/base.js

+0

私は同様のコードを持っています。エミュレータ上でうまく動作します。しかし、デバイス上ではそうではありません。 –

関連する問題