我想知道我们是否可以通过 Android Wear 中的 HttpURLConnection 访问网络?
我尝试在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();
我确实在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)
非常感谢你的帮助。
答案 0 :(得分:10)
不幸的是,没有。
Android Wear应用程序无法直接访问Internet。他们必须与相应的掌上电脑应用程序通信(通过MessageApi或DataApi)并请求它执行您需要的任何HTTP请求。
编辑: Android Wear 2.0,目前处于测试阶段,supports network requests,因此HttpURLConnection
应该在那里工作。