2017-03-28 5 views
0

Ich habe Button in meiner Android-Anwendung und ich verwalten zwei Sachverhalte mit einem Enum. Die Schaltfläche hat zwei logische Zustände, die von der Enumeration definiert sind. Stopped und Recording.(Bug?) Android-Taste reagiert auf Handbewegung

Wenn im Status Stopped auf die Schaltfläche geklickt wird, beginnt eine Instanz von AudioRecorder mit der Aufzeichnung der Stimme des Benutzers und der Status wird auf Recording gesetzt.

Wenn im Status Recording auf die Schaltfläche geklickt wird, wird die Aufzeichnung gestoppt und der Status wird wieder auf Stopped zurückgesetzt.

Nun, manchmal, wenn ich Aufnahme starten dann einfach meine Hand winken ohne Kontakt mit dem Telefon, die Aufnahme stoppt, als ob der Knopf geklickt wurde.

Ich handle nur die Schaltfläche klicken Ereignisse unter Verwendung der OnClickListener Schnittstelle und nirgends habe ich Setup, Gestenereignisse zu empfangen.

Was ist das? Hat das schon mal jemand erlebt?

+0

Vielleicht Bildschirm dreht sich und Aktivität wird neu erstellt? – Sourabh

Antwort

0

Ok. Also habe ich den Schuldigen gefunden, ich habe vergessen zu erwähnen, dass ich CountDownTimer benutzte, was dazu neigt, Ticks manchmal zu überspringen. Die onFinish() Methode dieser Klasse wurde zu früh manchmal zufällig mit meiner Hand über das Telefon gerufen.

Ich löste es, indem ich meine eigene Timer-Klasse mit einem Handler erstellen.