0

ポートを追加するまで、WebViewは完全に機能しています。その時点では、エラーは表示されず、HTTPトラフィックにも何も表示されません。

private Context vContext;
private String vPackageName;
private String vPlacementID;

static private double TRACK_VERSION = 1.0;
static private String TRACK_HOST = "foobar.com:8007";
static private String TRACK_HANDLER = "/event";

public void reportAppOpen(Context context, String placementID) {
    Log.d("FOO", "Tracking");
    if (context == null) {
        return;
    }
    vContext = context;
    vPackageName = vContext.getPackageName();
    vPlacementID = placementID;

    WebView webview = new WebView(context);
    webview.setVisibility(WebView.GONE);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Log.d("FOO", "error code:" + errorCode);
                super.onReceivedError(view, errorCode, description, failingUrl);
        }
     });
    webview.getSettings().setJavaScriptEnabled(true);

    List<NameValuePair> params = trackingParams();
    String paramString = URLEncodedUtils.format(params, "utf-8");
    String url = "http://" + TRACK_HOST + TRACK_HANDLER;
    webview.postUrl(url, EncodingUtils.getBytes(paramString, "base64"));

    Log.d("FOO", "Loading URL");        
}

私のコードでは他にも奇妙なことが起こっていることは知っていますが、今のところはpostUrl仕事に取り掛かることに集中したいと思います。

編集:logcatで、これが適切かどうかわからないことがわかりました。

10-19 13:44:21.560: D/SntpClient(59): request time failed: java.net.SocketException: Address family not supported by protocol
4

1 に答える 1

1

WebChromeClient を試して、次のメソッドをオーバーライドしてください。

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

問題をデバッグするには..

于 2012-10-19T21:37:48.297 に答える