# WIFI, Bluetooth und NFC Verbindung überwachen



## hr3 (2. Apr 2015)

Hallo,
bei WIFI bekomme ich wie gewünscht auch bei der Trennung einer Verbindung per Intent eine Info.
Das möchte ich gern auch für Bluetooth und NFC erreichen.
Bei BT sollte das laut den gefundenen Hinweisen innerhalb von 2 Sekunden geschehen. Aber auch nach Minuten passiert nichts, wenn die Kopplung von der Gegenstelle aufgehoben bzw. BT an dieser deaktiviert oder auch das Gerät aiusgeschaltet wird. Auch die System-BT-Funktion unter Einstellungen zeigt diese Verbindung dauerhaft unverändert als Gekopplt an, selbst nach Neustart.
Bei NFC bekomme ich nur eine Info, wenn der Kontakt zu einem NFC-TAG hergestellt wird. Ich sehe keine Chance zu überprüfen ob dieser noch besteht bzw. eine Info zu bekommen, wenn er getrennt wird. Im Moment habe ich keine Möglichkeit zu überprüfen, wie sich das zwischen zwei NFC-fähigen Geräten verhält.
Ich hab es an mehreren Geräten mit unterschiedlichen Android-Versionen probiert. Ist das so gewollt oder mache ich einen Fehler?


----------



## buggy84 (28. Mai 2015)

Dein Tema ist jetzt schon eine Weile her, hast Du irgendwo mehr erfahren können?
Ich stehe vor einem ähnlichen "Problem". Ob ein Bluetoothgerät außer Reichweite ist oder nicht, kann offenbar nicht genau erfasst werden. Das "Gebunden" sein, sagt ja auch im Endeffekt nichts weiter aus, als das sich die Geräte "kennen". 

Folgendes Szenario kann ich reproduzieren: Ich binde mein Android Phone an ein beliebiges Bluetooth Gerät und öffne einen Socket, dazu einen InputStream und lausche. Sobald das Gegengerät weg ist... also entweder abgeschaltet oder außer Reichweite, bekomme ich nach 10-15 sek. eine IOException. An der erkenne ich jedenfalls, dass der Socket geschlossen wurde. Warum, erkenne ich nicht, kann mir aber auch egal sein. Da ich die IOException fange, kann ich meine Streams schließen, Discovery neu starten und, wenn möglich, verbinden (und pairen), sobald das Gegengerät wieder da ist. 

Soweit zu Bluetooth. Bei NFC habe ich leider absolut keine Erfahrung, aber ich denke es wird ähnlich ablaufen. Allein das bekanntmachen reicht wahrscheinlich nicht aus, um ein Abbruch festzustellen. Offenbar muss eine Datenverbindung hergestellt sein. Und auch dann klappt das nur mit Verzögerung.

Bei WiFi gibt es keine "Bekanntmachung" da wird verbunden und gleichzeitig eine Datenverbindung aufgebaut, also merkst du auch gleich wenn ein Stream nicht mehr da ist.

Ich kann mir das nur so erklären. Wenn Du mehr Infos hast, würde ich mich freuen wenn Du sie mit mir teilst!


----------

