Code wird nicht ausgeführt!

  • Antworten:2
Daniel online
  • Forum-Beiträge: 282

23.01.2012, 15:25:46 via Website

Hallo,

ich hab hier gerade ein sehr merkwürdiges Problem an dem ich einfach nicht weiter komme:
Bei mir wird Code einfach nicht ausgeführt, obwohl überhaupt nichts dagegensprechen würde. Das ganze befindet sich in einem Runnable.

Hier mal der Code:

1Runnable notrufMode = new Runnable() {
2
3 @Override
4 public void run() {
5 Log.i(TAG,"active = "+listener.isListening());
6
7 if(listener.isListening()){
8 executor.schedule(notrufMode, NOTRUF_DEACTIVE,TimeUnit.SECONDS);
9 Log.i(TAG,"neugestartet - nicht zuhören");
10 listener.stop();
11 Log.i(TAG," nichtmehr zuhören."); :what:
12
13 } else {
14
15 executor.schedule(notrufMode, NOTRUF_ACTIVE,TimeUnit.SECONDS);
16 Log.i(TAG,"neugestartet - wieder zuhören");
17 listener.start();
18 Log.i(TAG,"geschafft- wieder zuhören."); :what:
19 Log.i(TAG,"active ");:what:
20 }
21 Log.i(TAG,"das erste ist geschafft...");:what:
22
23 }
24 };

Die listener.play und listener.stop Methoden:
1//Zuhören stoppen
2 public void stop(){
3 active = false;
4 recognizer.stopListening();
5 Log.e(TAG,"stop"); :what:
6 }
7
8 public void start(){
9 Log.e(TAG,"1");
10 active = true;//
11 recognizer.startListening(recognizerIntent); :what:
12 Log.e(TAG,"geschafft!"); :what:
13 }
Beide Methoden funktionieren wenn sie an einer anderen Stelle im Code aufgerufen werden.
Die Stop-Methode scheint auch zu funktionieren.

:what: <- diese Zeile wird nicht ausgeführt.

Ich verstehe das einfach nicht. Z.B. spricht überhaupt nichts dafür das die Log-Ausgabe nach der If-Schleife nicht ausgegeben wird!
Ich hoffe ihr könnt mir helfen.

Vielen Dank,
Daniel

Antworten
Daniel online
  • Forum-Beiträge: 282

23.01.2012, 16:10:26 via Website

Danke für den Tipp!

Das Problem lag letztendlich daran, dass der VoiceRecognition Service nur aus dem Main-Thread angesprochen werden darf.

Antworten