Ja, ich glaube, es ist möglich, Nachrichten mit mehreren Android Bluetoooth-Geräten gleichzeitig auszutauschen - ohne trennen und erneut verbinden.
Wenn Sie die Android-API für Anfänger beiseite lassen, können Sie sich mit Bluetooth definitiv mit mehreren Geräten gleichzeitig verbinden und mit ihnen kommunizieren. Alle Bluetooth-Verbindungen geschehen in Piconets, die einen Master und bis zu 7 Slaves enthalten. Ein Gerät kann Teil von mehr als einem Piconetz sein, aber das ist ineffizient (das Timing der beiden Piconets ist nicht koordiniert) und kann unzuverlässig sein. Wenn Sie also eine Verbindung zu mehreren anderen Geräten herstellen möchten, müssen Sie sicherstellen, dass Sie der Master sind.
Ich habe diese Art der Sache mit BlueZ (der Stapel Bluetooth auf den meisten Linux und Android-Geräte einschließlich AOSP) durchgeführt, so kann ich überprüfen, dass es ziemlich geradlinig ist und zuverlässig arbeitet.
Allerdings habe ich nur One-to-One-Verbindungen auf Android, so kann ich nicht sicher sagen, wie Sie die Master-Slave-Zuordnung dort steuern. Android bietet im Vergleich zu normalem Linux weniger Leistung und Kontrolle und bietet keine Möglichkeit, die Master-Slave-Rollenzuweisung direkt zu lesen oder zu ändern.
Theoretisch sollten Sie in der Lage sein, die Rollen basierend auf der Regel zu steuern, dass die Seite, die die Verbindung initiiert, der Master ist, aber ich möchte testen, was sonst noch passieren könnte. Meine Sorge kommt hauptsächlich aus der Möglichkeit, dass eines der Client-Geräte (von dem Sie erwarten, dass es ein Slave ist), möglicherweise bereits eine Verbindung zu z. B. ein Headset oder eine Tastatur. Wenn die eingehende Verbindungsanforderung empfangen wird, kann sie daher aufgefordert werden, zur Hauptrolle zu wechseln, damit sie den Server zu ihrem Piconetz hinzufügen kann.
Was ich vorschlagen würde ist, wenn Sie testen, erhalten Sie Zugriff auf hcitool auf einem Ihrer Geräte (z. B. eine Linux-Box oder ein gerootet Android) und tun 'hcitool con' und es wird Ihnen eine Liste der aktuellen Verbindungen und ich denke, das schließt die Rolle ein. (hcitool ist ein Standardtool unter Linux und in AOSP enthalten.) Ich denke, Sie könnten auch einfach den empirischen Ansatz verwenden: Wenn Sie in der Lage sind, eine Reihe von gleichzeitigen Verbindungen zu erstellen, die zuverlässig funktionieren, spielt es keine Rolle, wie es funktioniert - Stellen Sie nur sicher, dass Sie Situationen testen, in denen einige der Geräte bereits Verbindungen zu anderen Geräten haben.
Entschuldigung, aber ich denke, das ist eine gute Frage und wäre daran interessiert, von Leuten zu hören, die das unter Android gemacht haben. Ich denke, ich habe von Bluetooth-Spielen für mehrere Spieler für Android gehört - ich frage mich, ob diese zuverlässig funktionieren.
können Sie bitte Ihren Code senden. –