Http Request über Smartwatch

  • Hallo,

    ich stehe gerade vor folgendem Problem und komme nicht weiter.

    Ich habe mir in Eclipse eine einfache App programmiert, die per http Request die Sender auf meinem TV-Receiver wechselt.
    Die App funktioniert tadellos auf dem Smartphone.
    Eine angepasste App für die Smartwatch funktioniert auch in der virtuellen Smartwatch, die per Bluetooth mit meinem realen Handy verbunden ist.
    Will ich jedoch die App auf meiner realen Smartwatch nutzen, kann ich diese staten, allerdings erscheint hier nur das Layout und meine Buttons sind ohne Funktion!


    Benötige ich hierfür weitere Permissions?

    Aktuell habe ich nur android.permission.INTERNET hinzugefügt.

    Bin für jeden Lösungsansatz dankbar.

    Gruß

    Wolflkoder

    Einmal editiert, zuletzt von Wolflkoder (26. Februar 2016 um 17:20)

  • Kannst du die uhr an den pc anschließen und dir die logcat ausgabe mal anschauen?

    ich vermute mal deine uhr wird einfach kein internetzugriff haben, sondern nur per bluetooth mit deinem smartphone kommunizieren. Oder hast du eine extra SIM karte in deiner uhr?

  • Wenn ich die Uhr direkt ans Kabel hänge wird nur aufgeladen, bekomme keiner weitern Verbindungen. Es handelt sich hier um die Sony Smartwatch3.

    Die Uhr hat keine SIM Karte, allerdings eine Wlan-Verbindung.
    Selbst wenn ich mein Smartphone ausschalte, kann ich eigenständig mit der Uhr Webseiten öffnen.

  • Hallo nochmal,

    hier habe ich nun doch die LogCat Ausgabe der Uhr:

    02-27 13:59:31.817: I/System.out(11419): Button 1 wurde gedrückt!
    02-27 13:59:56.737: D/(11419): HwMemAllocatorImpl Static Counters 2 0
    02-27 13:59:56.737: D/(11419): HwMemAllocatorImpl[ae4c60a8] totalDeviceAllocSize[3670016] totalFree[829696] maxFree[350208] in numSlabs[2]
    02-27 13:59:56.737: D/(11419): HwMemBlock[b8bebd40] pa[0xb2b00000] va[0xac3af000] size[1048576] alloc[440320] free[608256] maxFree[350208] mode[1016] refCnt[5] fullList[5] freeList[2]
    02-27 13:59:56.737: D/(11419): HwMemBlock[b8bf3110] pa[0xb3a00000] va[0xabec1000] size[2621440] alloc[2400000] free[221440] maxFree[221440] mode[1016] refCnt[2] fullList[2] freeList[1]
    02-27 14:00:10.129: W/System.err(11419): java.net.ConnectException: failed to connect to /192.168.123.201 (port 80): connect failed: ETIMEDOUT (Connection timed out)
    02-27 14:00:10.135: W/System.err(11419): at libcore.io.IoBridge.connect(IoBridge.java:124)
    02-27 14:00:10.135: W/System.err(11419): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
    02-27 14:00:10.135: W/System.err(11419): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
    02-27 14:00:10.135: W/System.err(11419): at java.net.Socket.connect(Socket.java:882)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.internal.Platform.connectSocket(Platform.java:174)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.Connection.connect(Connection.java:152)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:276)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:211)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:382)
    02-27 14:00:10.135: W/System.err(11419): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:332)
    02-27 14:00:10.136: W/System.err(11419): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:199)
    02-27 14:00:10.136: W/System.err(11419): at java.net.URL.openStream(URL.java:470)
    02-27 14:00:10.136: W/System.err(11419): at com.example.steuerungwearable.A.run(thread_a.java:22)
    02-27 14:00:10.136: W/System.err(11419): at java.lang.Thread.run(Thread.java:818)
    02-27 14:00:10.136: W/System.err(11419): Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
    02-27 14:00:10.137: W/System.err(11419): at libcore.io.Posix.connect(Native Method)
    02-27 14:00:10.137: W/System.err(11419): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
    02-27 14:00:10.137: W/System.err(11419): at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
    02-27 14:00:10.137: W/System.err(11419): at libcore.io.IoBridge.connect(IoBridge.java:122)
    02-27 14:00:10.138: W/System.err(11419): ... 13 more


    ich hoffe hier ist jemand der mehr als ich damit anfangen kann....

  • Die Fehlermeldung sagt dir ja schon, dass er einen Connection Timeout hat:
    Wolflkoder schrieb:

    02-27 14:00:10.129: W/System.err(11419): java.net.ConnectException: failed to connect to /192.168.123.201 (port 80): connect failed: ETIMEDOUT (Connection timed out)


    Auf dem Gerät mit der IP 192.168.123.201 musst du wohl daher den Port 80 freigeben. Wenn du also z.B. das direkt auf der Smartwatch mit Android Studio machst, musst du z.B. bei der Windows Firewall die Ausnahme für Android Studio einrichten.

    MfG,
    Christopher

    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Das Gerät 192.168.23.201 ist der Receiver und mit den gleichen Einstellungen, bzw gleicher App funktionierts auf dem Handy und auf der virtuellen Smartwacht, nur nicht mit der richtigen Smartwatch.

  • Okay jetzt hab ich es verstanden.
    Der Fehler liegt aber leider im Grundkonzept deiner App. Eine Wear App kann keine HTTPUrlConnection aufbauen. Diese ist auf allen Wear-Geräten deaktiviert. Im Emulator ist das wohl ein Bug.
    Als Workaround wird Hier vorgeschlagen, die MessageApi zu nutzen und die Connection auf dem Handy aufzubauen.

    MfG,
    Christopher

    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Vielen Dank für die Info's,

    dann kann ich die Fehlersuche hier mal beenden.

    Was aber nun mit diesem Hintergrundwissen komisch ist, ist das ich mit dem Browser in der Uhr ( WIB ) das Webinterface des Receivers öffnen und dort Befehle ausführen kann, obwohl das Smartphone ausgeschaltet ist!

    evtl. openURL möglich nur request nicht ?? .... ich bin hier der Neuling zu groß.

  • Nachtrag:

    Sobald man das Wlan Menü der Uhr verlässt, wird die Verbindung unterbrochen.
    Mann muss vorher die Bluetooth Verbindung beenden, dann bleibt die Wlan Verbindung stabil, und dann funktioniert auch die HTTPUrlConnection direkt aus der Uhr.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!