Beiträge von Pixhawk

    Hi,
    Ich entwickel gerade eine app, bei der man zunächst über die Spracheingabe von google einen Befehl eingibt. Diesen lass ich dann durch eine Datenbank, welche mir den zugehörigen String-Wert zurückgibt. Dieser soll dann per Bluetooth versendet werden.
    Für die Spracheingabe habe ich mich hier orientiert: https://github.com/derAndroidP…utorial/MainActivity.java.
    Momentan lass ich den Text in ein Textfeld schreiben, welches ich dann beim druck auf Button "senden" auslesen lasse und versende. Dies Funktioniert.


    Doch während der Googlespracheingabe kann ich nicht direkt auf meine Bluetoothklasse zugreifen, da sich ja ein neues fenster öffnet (Google spracheingabe) und somit das hintere pausiert wird (somit auch die verbindung zum Bluetoothgerät-> Bluetooth ist eine andere klasse die in oncreate initalisiert wird).


    Demnach suche ich ein Befehl, der ausgeführt wird, nachdem das Spracheingabefenster z.B. 3 Sekunden geschlossen ist. Gibts sowas?


    Vielen lieben Dank! :thumbup:

    Wow, Danke für deine Hilfe!
    Habe es jetzt hinbekommen, auch ohne Service
    Da muss ich wohl mich noch ein bisschen einarbeiten...
    Ich möchte damit über eine App an ein Arduino Befehle senden, welcher dann Servomotoren ansteuert (Wird eine Roboterhand).


    Vielen Dank für deine Ausführlichen Erklärungen, du hast mir sehr geholfen! Konnte es jetzt so lösen, das die Verbindung bei jeder neuen Activity aufgebaut wird. Geht aber so schnell das es kaum auffällt... Funktioniert soweit
    Liebe Grüße


    Pixhawk

    Zum Verbindungsaufbau: Ich habe die Mac-adresse in der App eingegeben und mich mit dem hc05-Modul gepaart. Beim öffnen der App auf dem smartphone verbindet sich diese von allein mit dem HC-05-das funktioniert. Hab mal meinen Code für den Hintergrund-Service angehängt(Ab Zeile 85 fängt die Bluetooth klasse an (Ich weiß, besser ist ne neue Klasse anlegen..)). Starte den Service in der Main mit: Intent service = new Intent(this, Hintergrund.class); startService(service);. Wie kann ich nun Zeile 78 am besten in meinen anderen Klassen aufrufen/Daten übermitteln? Geht das ganz normal wie bei Methoden anderer Klassen?


    Danke für deine Geduld!

    Danke für deine schnelle Antwort!
    ""[i]Nun habe ich ein Menü, und dementsprechend auch zwei Klassen geschrieben, durch die ich mittels einem Klick, auf die Menüoberfläche, gelange." Damit meist du bestimmt Activitys oder ?"[/i]
    Ja, habe zwei activitys mit dazugehörigen Java-klassen geschrieben, sorry:)

    Das mit den Service klingt nach genau dem, wonach ich gesucht habe. Da ich sehr unerfahren mit Android bin habe ich mir auch hier ein Beispielcode mal rausgesucht: http://blog.rhesoft.com/2016/0…-services-android-studio/
    Jedoch weiß ich nicht, wie ich im Service Handler unter HandleMessage meinen Code implementieren soll? Das Problem liegt (denke ich) bei der Vererbung, da ich nun ja service und nicht mehr Activity extende...

    Das mit dem Verbindungsaufbau und -ende muss ich auch erst noch lösen, bis jetzt habe ich es einfach noch da stehen. Meinst du so etwas in der Art wie bei betätigung eines Buttons on wird onResume() aufgerufen, bei off dann onPause()? Ich finde in der jetzigen methode garnicht wodurch onResume() und onPause() das aufgerufen wird...

    Danke nochmals für dein großartige Hilfe!



    Guten Tag,

    Ich versuche eine App zu programmieren, mit welcher ich Strings an einen Arduino (hc05) schicken kann. Als Beispielcode habe ich mich an diesem hier orientiert: solderer.tv/data-transfer-between-android-and-arduino-via-bluetooth/
    Funktioniert auch soweit bestens. Nun habe ich ein Menü, und dementsprechend auch zwei Klassen geschrieben, durch die ich mittels einem Klick, auf die Menüoberfläche, gelange. Gedacht war, durch ein weiteren Klick auf einem Button in der jeweiligen Klasse die oben verlinkte Bluetoothklasse (heißt bei mir Blauzahn) aufzurufen:
    Blauzahn bl1=new Blauzahn();
    bl1.sendData("10110");
    Jedoch bin ich dann ja garnicht dauerhaft mit meinem Bluetoothmodul verbunden, sondern erst wenn ich Blauzahn aufruf... Da der Verbindungsaufbau immer etwas braucht bekomme ich hier dann den Fehler das ich nicht verbunden bin.
    Nun zur eigentlichen Frage:
    Gibt es eine Möglichkeit die Bluetooth-klasse dauerhaft aktiv zu haben, egal in welcher Oberfläche/Klasse ich mich befinde?
    Hoffe es ist einigermaßen Verständlich,
    Guten Rutsch! :rolleyes: