Jede App stürzt ab, wenn Sie ein BT-Eingabegerät anschließen

Ich habe ein Problem mit meinem Android-Tablet und einer verbundenen Bluetooth-Fernbedienung. (Es wird als BT-Tastatur erkannt, was für mich in Ordnung ist)

Die Fernbedienung ist eine BT 4.0-Fernbedienung und bereits mit Android gekoppelt. Sobald es angeschlossen ist, funktioniert es einwandfrei.

Das Problem ist der Verbindungsvorgang selbst: Wenn die Fernbedienung nicht verbunden ist - zB nach einer gewissen Leerlaufzeit oder nach einem Neustart des Systems - drücken Sie eine Taste und sie verbindet sich sofort wieder. Dieser Teil funktioniert gut.

Während der Verbindung stürzt jedoch die aktuelle Vordergrundaktivität ab! Dies betrifft jede App, egal was passiert.

Wenn ich mich zB im Launcher befinde, wird der Bildschirm für den Bruchteil einer Sekunde schwarz, bis alles neu gezeichnet wird. Befinde ich mich in einer Spiele-App (zum Testen), startet das Spiel komplett neu. Während es kein Problem wäre, wenn es nur für den Bruchteil einer Sekunde schwarz wird, ist es ein großes Problem in meiner eigenen App, die ich gerade entwickle: Die App startet komplett neu. Der Benutzer sieht 3 Sekunden lang nichts (das ist die Zeit, die die App zum Laden benötigt).

Zuerst dachte ich, es wäre ein Programmierproblem auf meiner Seite, deshalb habe ich eine Frage zu Stack Overflow gepostet

Aber jetzt habe ich herausgefunden, dass es kein Programmierproblem ist, da jede App abstürzt und neu startet, sobald Sie das BT-Gerät wieder anschließen. Was kann ich tun, um das zu beheben?

Geräte, an denen ich die BT Remote getestet habe:

  • Android 4.4.2-Tablet ("No-Name"-Produkt) - Der Fehler ist vorhanden
  • Android 5.1-Tablet ("No-Name"-Produkt) - Der Fehler ist vorhanden
  • Android 5.1.1 Telefon (Samsung xCover) - Kein Problem!!
  • Android 4.4.2 Telefon (Samsung GALAXY S III Neo) - Kein Problem!!

Ich hoffe jemand hat eine Idee wie man das beheben kann.

Vielleicht sind die "No-Name"-Geräte das Problem. Können Sie mit mehr Geräten überprüfen? Es ist auch möglich, dass die Fernbedienung einige Edge-Case-Befehle verwendet, die nicht korrekt verarbeitet werden.
Danke für deinen Kommentar. Ich habe mit einem weiteren Gerät (LG Android 4.4) überprüft, wo es auch funktioniert. Ich denke auch, das Problem könnten die sehr sehr billigen "No-Name"-Geräte sein. Aber ich habe keine Ahnung, wie ich das beheben kann...
Interessierte Entwickler, die dies verhindern möchten, können sich die Antwort für Android-Abstürze beim Einstecken der Tastatur ansehen .

Antworten (1)

Ich sehe das gleiche Verhalten zwischen meinem Samsung Galaxy A-Tablet und einer Zagg Flex Bluetooth-Tastatur. Wenn eine Verbindung hergestellt oder getrennt wird, initialisiert sich die aktuelle App neu oder erzwingt das Schließen. In der Reihenfolge des Fehlverhaltens sehe ich, dass Apps eines von drei Dingen tun (mit jeweils einem Beispiel): Schließen erzwingen (Lightning Launcher), neu initialisieren und alle laufenden Arbeiten verlieren (ES File Explorer) oder das Verbindungsereignis ordnungsgemäß behandeln als wenn nichts passiert ist (Chrome). Wenn Sie eine Suche bei Google durchführen, scheint dies "absichtlich" zu sein: Android initialisiert eine App neu, wenn sich der Verbindungsstatus der BT-Tastatur ändert, aber Apps können Android gegenüber erklären, dass die App das Ereignis selbst behandelt und daher das Neuladen vermeidet.