2010-05-26 4 views
6

Ich habe eine Frage zum Zugriff auf bereits bestehende gekoppeltes Bluetooth-Verbindungen ...Android: Der Zugang zu einer bereits gepaarten Verbindung

Wie kann ein Remote-Service erkennt eine bereits gepaart Verbindung und wartet auf eine Dateiübertragung von ihm?

In allen Kommentaren auf Stackoverflow, auf Tutorials, E-Books oder auf Google wird immer gezeigt, wie eine über Sockets neue Verbindung erstellen und so weiter, aber kein Wort zu einem bestehenden über den Zugriff.

Ist das überhaupt möglich? Wenn ja, kannst du mir auch sagen/wie? Im Moment habe ich keine Ahnung, wie ich damit anfangen soll.

Wäre toll, wenn mir jemand angefangen :)

Antwort

2

Pairing bedeutet Hilfe bekommen können nur, dass die beiden Geräte einander authentifiziert haben. Es bedeutet nicht eine offene Socket-Verbindung.

Nach der Kopplung kommt Verbindung: Eine Seite erstellt einen Server-Socket und das andere Gerät kann dann mit einem Client-Socket verbinden.

Ich denke, die Verwirrung kommt von der Vermischung von zwei Konzepten: "bereits gepaart" mit "bereits verbunden". Pairing bedeutet nur, dass sie authentifiziert sind. Die Geräte können keine Verbindung herstellen, ohne zuerst gekoppelt zu werden, aber die Verbindung verbindet die Geräte nicht.

Um eine App Warten auf eine Dateiübertragung machen es so etwas wie dies gehen würde:

  • Make Gerät A paarbar.
  • Von Gerät B, suchen Sie nach Geräten in der Nähe und wenn Sie A finden, koppeln Sie es (hier geben Sie einen geheimen PIN-Code ein, der auf den beiden Geräten übereinstimmen muss)
  • Jetzt, da die Geräte gepaart sind, starten Sie Ihr Dateiserver auf Gerät A oder B (Er erstellt dann einen Server-Socket und wartet auf eingehende Verbindungen)
  • Dann leiten Sie vom anderen Gerät eine Verbindung zum Dateiserver ein.
  • Bei geöffneten Sockeln können Daten fließen.
+0

Hallo, danke für deine Antwort. Ich habe mehrere Tests in Bezug auf mein Problem durchgeführt: Meine Datei wird über "Objekt Push-Profil" geschoben ... in meinen Tests gibt es keine "Verbindung" benötigt, um eine Dateiübertragung einzuleiten ... sogar Pairing wird nicht benötigt. Aber das Problem ist jetzt, dass es nur ein paar Dateitypen unterstützt (wie gif, jpg, ...), aber nicht die, die ich brauche (gpx). Wie kann ich das ändern? Mein Problem ist, eine App zu öffnen, wenn dieser bestimmte Dateityp auf meinem Handy ankommt ... ist das hier möglich? – poeschlorn

+1

Sicher, Sie können einfach einen Dienst erstellen, der einen hörenden Socket öffnet (Sie müssen einen Socket haben) und erwartet eine eingehende Verbindung. Wenn eine Verbindung empfangen wird, erhält sie die Daten und löst dann die Absicht aus, eine App oder Aktivität oder was auch immer Sie möchten zu starten. –

+0

ok, ich werde das ausprobieren – poeschlorn