Ich arbeite derzeit an der Erstellung einer Anwendung für mobile Geräte mit Android, die in der Lage sein sollte, Nachrichten über lokale Mittel wie WLAN und Bluetooth zu senden und zu empfangen. Nachdem ich darüber recherchiert hatte, fand ich heraus, dass Android keine native WLAN-Ad-hoc-Funktionalität hat und dass der einzige Weg, dies zu erreichen, darin besteht, Ihr Gerät zu rooten und wpa_suplicant und einige andere ähnliche Methoden zu patchen, die nicht für jedes Gerät generisch sind .
Zusammenfassung dessen, was ich erreichen möchte:
Eine Anwendung für Android, die nach Geräten in der Nähe sucht und versucht, sich automatisch mit ihnen zu verbinden. Wenn das andere Gerät diese Anwendung ebenfalls installiert hat, akzeptiert es automatisch jede Verbindungsanfrage, die es erhält, und wenn die Verbindung hergestellt ist, sendet es eine Nachricht zurück, die sicherstellt, dass diese App installiert ist, sodass beide automatisch mit dem Austausch von Nachrichten beginnen können und die Benutzer nicht. Sie müssen das Senden/Empfangen in Echtzeit nicht zulassen/verweigern.
Meine Fragen sind:
Gibt es eine Möglichkeit, Nachrichten über WLAN zwischen 2 Android-Geräten ohne Verwendung des Internets zu senden?
Da Ad Hoc nicht unterstützt wird, gibt es eine Alternative?
Falls die Antwort auf 2 Nein lautet, ist es möglich, eines der Geräte als Zugangspunkt zu verwenden, damit das andere sich mit ihm verbinden kann und umgekehrt.
Ist es bei Bluetooth möglich, das Zulassen/Ablehnen-Popup einer eingehenden Verbindung und den Kopplungsvorgang zu überspringen oder zu automatisieren?
Ich würde mich freuen, wenn Sie mir darauf eine Antwort und/oder Anregungen geben könnten.
Ich habe selbst an einem ähnlichen Projekt gearbeitet, bei dem wir nicht nur an Textnachrichten, sondern auch an Audio-Chat (Echtzeit) interessiert waren. Wie Sie darauf hingewiesen haben, unterstützt Android derzeit keine Ad-hoc-WLAN-Funktionalität (wie Sie sagten, dass das Patchen von wpa_suplicant nicht generisch ist und ich diese Methode ehrlich gesagt als nutzlos bezeichnen würde). Verwenden Sie NICHT das Internet, um keinen anderen Weg zu finden. Zu dieser Zeit habe ich einfach eine lokale WLAN-Verbindung in der Nähe verwendet, um eine Verbindung herzustellen (nur um klar zu sein, wir verwenden immer noch kein Internet). Ich hoffe, dies antwortet möglicherweise Ihre Punkte 1/2/3. Ich bin mir nicht sicher, ob es zumindest eine bessere Lösung für 1/2/3 gibt, solange Android-Leute nicht zulassen, dass ein Ad-hoc erstellt (oder zumindest beigetreten wird.
Zu Punkt 4 muss ich erneut leider sagen, dass die Antwort darauf ebenfalls „Nein“ lautet. Wenn sich zwei Geräte zum ersten Mal verbinden, muss eine Kopplung erfolgen. Und soweit ich mich erinnere (ich habe dieses Projekt vor ein paar Monaten durchgeführt und hatte keine Zeit, weiterzumachen / darauf aufzubauen), hat es für nachfolgende Verbindungen zu bereits gekoppelten Geräten keine Bestätigung verlangt, außer unserer eigenen Bestätigung, die wir aufgefordert, einen eingehenden Sprachanruf anzunehmen. Abgesehen davon, dass die Bluetooth-Methode tatsächlich einwandfrei funktionierte.
Hoffe das hat geholfen. Lassen Sie mich wissen, wenn es etwas gibt, das ich näher erläutern kann.
-Atul
Dieser Anwendungsfall hat jetzt eine offensichtliche langfristige Lösung: Android Beam/NFC. Allerdings unterstützen noch nicht viele Geräte NFC, sodass noch andere Techniken erforderlich sind.
Eldarerathis
Ale
Eldarerathis
Eldarerathis
Benutzer452730