Ich erstelle und Android-Programm, das kontinuierlich Daten über das Bluetooth senden muss jetzt verwende ich etwas wie folgt:
%Vor%Obwohl dies funktioniert, friert es meine Benutzeroberfläche und App ein, wie kann ich dasselbe implementieren, ohne meine Benutzeroberfläche einzufrieren?
Ich bin sicher, dass die App die Daten sendet, während ich die Daten überwache.
Sie müssen die Arbeit in einen anderen Thread (mit Ausnahme des UI-Threads) verschieben, um ANR zu vermeiden.
%Vor%Das obige ist eine schnelle und schmutzige Methode. Die bevorzugte Methode ist in den meisten Fällen die Verwendung von AsyncTask
Starten Sie einen IntentService, der einen Hintergrundthread für die Ausführung Ihres Diensts erstellt. Rufen Sie Looper.prepare () wie von @YellowJK vorgeschlagen auf, rufen Sie dann Looper.loop () auf, wenn Sie Ihr Programm auf einen Vorgang warten lassen müssen Der Service wird also nicht getötet.
%Vor%Tags und Links android