Android Wear是否支持HttpURLConnection - 获取EOFException

ssw*_*ssw 9 android wear-os

我想知道,如果我们可以通过访问网络HttpURLConnection的Android Wear

我尝试在Wear代码中使用HttpURLConnection,我得到了EOFException.相同的代码适用于普通的Android手机.它只在Android Wear上有问题.

如果Wear上不支持HttpURLConnection,我们应该使用Apache Http客户端还是其他什么?

或许我推出应用程序进行开发的方式不正确?

        URL url = new URL(myurl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(10000 /* milliseconds */);
        conn.setConnectTimeout(15000 /* milliseconds */);
        conn.setRequestMethod("GET");
        conn.setDoInput(true);
        // Starts the query
        conn.connect(); 
        int response = conn.getResponseCode(); 
Run Code Online (Sandbox Code Playgroud)

我确实将权限添加到了android清单中.我还从AsyncTask运行上面的代码.

EOFException发生在conn.getResponseCode().

java.io.EOFException
        at com.android.okhttp.internal.Util.readAsciiLine(Util.java:342)
        at com.android.okhttp.internal.http.RawHeaders.fromBytes(RawHeaders.java:311)
        at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:135)
        at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:644)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:353)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:297)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:509)
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

mat*_*ash 10

很不幸的是,不行.

Android Wear应用程序无法直接访问Internet.他们必须与相应的掌上电脑应用程序(通过MessageApiDataApi)进行通信,并请求它执行您需要的任何HTTP请求.


编辑:现在处于测试阶段的Android Wear 2.0 支持网络请求,因此HttpURLConnection应该在那里工作.