Zastanawiam się, czy możemy uzyskać dostęp do sieci za pośrednictwem HttpURLConnection z Android Wear?Czy Android Wear wsparcie HttpURLConnection - coraz EOFException
Próbowałem za pomocą HttpURLConnection wewnątrz kodu Wear, otrzymuję EOFException. Ten sam kod działa na zwykłym telefonie z Androidem. Ma tylko problem z Androidem Wear.
Jeśli funkcja HttpURLConnection nie jest obsługiwana przez Wear, czy powinniśmy używać klienta Apache Http lub czegoś innego?
A może sposób, w jaki uruchamiam aplikację do programowania, jest nieprawidłowy?
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();
Dodałem uprawnienia do manifestu Androida. Też uruchomiłem powyższy kod z AsyncTask.
EOFException występuje pod adresem 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)
Dziękuję bardzo za pomoc.
Czy to oznacza, że aby urządzenie zużywające się mogło uzyskać dostęp do Internetu, urządzenie zużywające się musi komunikować się z aplikacją telefonu komórkowego. to aplikacja na telefon komórkowy musi działać jako proxy? – ssw
@ssw Tak, właśnie. Przynajmniej w tej chwili. – matiash
Dzięki za odpowiedź. Nadal nie mogę znaleźć żadnej wzmianki, że elementy sieciowe nie są obsługiwane. Najśmieszniejsze jest to, że strona z programistą Android Wear nie mówi, że elementy sieciowe nie są obsługiwane. To tylko wspomina, że następujące pakiety nie są obsługiwane: android.webkit, android.print, android.app.backup, android.appwidget, android.hardware.usb. źródło: http://developer.android.com/training/wearables/apps/index.html – ssw